Coder Social home page Coder Social logo

dietrichm / dotfiles Goto Github PK

View Code? Open in Web Editor NEW
9.0 9.0 0.0 1.56 MB

๐Ÿ’ป Configuration for a programming environment built around kitty and Neovim.

License: MIT License

Shell 60.07% Vim Snippet 1.40% Makefile 0.44% Lua 17.63% Vim Script 20.46%
dotfiles go golang kitty lua neovim nvim php zsh

dotfiles's People

Contributors

dietrichm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

dotfiles's Issues

Let LSP and ALE play together nicely

Decide per project (through .lvimrc) whether ALE linters/fixers are used regardless of an LSP server being available.

Current code in nvim/.config/nvim/lua/lsp.lua is insufficient.

Theme support

Provide support for more than one theme or colour scheme.

This must support switching theme (using i.e. an environment variable) for:

  • kitty
  • zsh
  • Tmux
  • Neovim
  • FZF

Opening file using Defx sets absolute path

After opening a file, :cd <path> has to be executed to adjust the path to become relative to the working directory again.

This is an issue when copying paths using the <Leader>pc binding because it will be an absolute rather than a relative path for that file.

Configure priority of COC sources

Priorities for COC completion sources in Neovim seem to be more or less the same, causing coc-phpls completed items to sometimes appear at the bottom rather than at the top of completions.

Configure some priorities so around and buffer completions have lower priority.

Allow more flexible test runner commands

The test runner command and filter argument is not flexible enough to allow it to be configured for running i.e. make targets with environment variables and module names derived from the file path, such as TARGET="my.module.tests -k filter" make unit-tests.

Allow partial installs

Using GNU Stow, replace (or rewrite) the bin/config-install.sh script to allow for partial installs. Only the desired configuration is installed, making the config more suitable to be used on other compact/mobile devices.

Stow is already used for the theme support. Further roll-out Stow (including file restructuring) before allowing partial installs through the script.

Copying commit hash in tig on OS X broken

Copying a commit hash using I copies not just the hash itself, but:

-n <hash>\n

This is due to using echo -n, where -n is not supported in the default sh on OS X.

Resolve terminal warnings in Neovim health check

- $TERM: xterm-kitty
- ERROR $TERM should be "screen-256color" or "tmux-256color" in tmux. Colors might look wrong.
  - ADVICE:
    - Set default-terminal in ~/.tmux.conf:
      set-option -g default-terminal "screen-256color"
    - https://github.com/neovim/neovim/wiki/Building-Neovim#optimized-builds
- WARNING Neither Tc nor RGB capability set. True colors are disabled. |'termguicolors'| won't work properly.
  - ADVICE:
    - Put this in your ~/.tmux.conf and replace XXX by your $TERM outside of tmux:
      set-option -sa terminal-features ',XXX:RGB'
    - For older tmux versions use this instead:
      set-option -ga terminal-overrides ',XXX:Tc'

Allow Neovim to run without Node/Yarn/COC

When Yarn is not installed, skip installing/loading Node based plugins such as COC and its LSP providers.

Useful for installing on non development boxes (RPi etc).

Configure test runner globally

Allow the test runner to be configured using global variables per filetype, i.e.:

let g:test_runner_python_executable_case = 'runtests {file}'
let g:test_runner_python_executable_test = 'runtests {file} --filter={test}'
let g:test_runner_python_filename_transformer = {file -> substitute(file, '/', '.', 'g')}

This makes it easier to define them in an .lvimrc file per project, without residing to autocommands.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.