some slight changes
This commit is contained in:
parent
be17bb97d2
commit
ff468ca2d7
70 changed files with 245 additions and 2131 deletions
137
hm-modules/nvim/config/lua/.luarc.json
Normal file
137
hm-modules/nvim/config/lua/.luarc.json
Normal file
|
|
@ -0,0 +1,137 @@
|
|||
{
|
||||
"$schema": "https://raw.githubusercontent.com/sumneko/vscode-lua/master/setting/schema.json",
|
||||
"Lua.workspace.checkThirdParty": false,
|
||||
"Lua.workspace.library": [
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/cmp-buffer",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/cmp-cmdline",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/cmp-nvim-lsp",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/cmp-path",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/cmp_luasnip",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/gruvbox",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/luasnip",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nnn-nvim",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/noice-nvim",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/notify-nvim",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nui.nvim",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-cmp",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-lspconfig",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-bash-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-beancount-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-bibtex-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-c-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-clojure-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-cmake-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-comment-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-commonlisp-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-cpp-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-css-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-cuda-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-c_sharp-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-dart-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-devicetree-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-dockerfile-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-dot-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-eex-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-elisp-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-elixir-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-elm-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-embedded_template-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-erlang-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-fennel-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-fish-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-fortran-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-gdscript-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-glimmer-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-glsl-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-go-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-godot_resource-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-gomod-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-gowork-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-graphql-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-haskell-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-hcl-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-heex-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-hjson-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-html-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-http-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-janet_simple-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-java-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-javascript-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-jsdoc-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-json-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-json5-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-jsonnet-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-julia-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-kotlin-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-latex-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-ledger-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-llvm-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-lua-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-make-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-markdown-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-markdown_inline-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-nickel-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-nix-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-norg-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-ocaml-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-ocaml_interface-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-org-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-perl-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-pgn-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-php-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-pioasm-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-prisma-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-pug-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-python-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-ql-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-ql_dbscheme-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-query-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-r-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-regex-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-rego-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-rst-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-ruby-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-rust-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-scala-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-scheme-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-scss-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-smithy-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-sparql-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-sql-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-supercollider-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-surface-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-svelte-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-tiger-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-tlaplus-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-toml-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-tsq-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-tsx-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-turtle-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-typescript-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-verilog-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-vim-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-vue-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-yaml-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-yang-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-zig-grammar",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/plenary.nvim",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/rust-tools.nvim",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/telescope.nvim",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/toggleterm.nvim",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/vim-tmux-navigator",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/vimspector",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/__python3_dependencies",
|
||||
"/Users/ragon/.config/nvim",
|
||||
"/Users/ragon/.local/share/nvim/site",
|
||||
"/nix/store/j5myw4djaj1hmi5r8p5hxaynhingy8k5-neovim-unwrapped-0ecb4d7/share/nvim/runtime",
|
||||
"/nix/store/j5myw4djaj1hmi5r8p5hxaynhingy8k5-neovim-unwrapped-0ecb4d7/lib/nvim",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/cmp-buffer/after",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/cmp-cmdline/after",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/cmp-nvim-lsp/after",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/cmp-path/after",
|
||||
"/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/cmp_luasnip/after",
|
||||
"${3rd}/love2d/library"
|
||||
]
|
||||
}
|
||||
210
hm-modules/nvim/config/lua/dark_notify.lua
Normal file
210
hm-modules/nvim/config/lua/dark_notify.lua
Normal file
|
|
@ -0,0 +1,210 @@
|
|||
-- http://lua-users.org/wiki/StringTrim
|
||||
function trim6(s)
|
||||
return s:match '^()%s*$' and '' or s:match '^%s*(.*%S)'
|
||||
end
|
||||
|
||||
-- from norcalli/nvim_utils
|
||||
function nvim_create_augroups(definitions)
|
||||
for group_name, definition in pairs(definitions) do
|
||||
vim.api.nvim_command('augroup ' .. group_name)
|
||||
vim.api.nvim_command('autocmd!')
|
||||
for _, def in ipairs(definition) do
|
||||
-- if type(def) == 'table' and type(def[#def]) == 'function' then
|
||||
-- def[#def] = lua_callback(def[#def])
|
||||
-- end
|
||||
local command = table.concat(vim.tbl_flatten { 'autocmd', def }, ' ')
|
||||
vim.api.nvim_command(command)
|
||||
end
|
||||
vim.api.nvim_command('augroup END')
|
||||
end
|
||||
end
|
||||
|
||||
local state = {
|
||||
initialized = false,
|
||||
pid = -1,
|
||||
stdin_handle = nil,
|
||||
config = {},
|
||||
}
|
||||
|
||||
local M = {}
|
||||
|
||||
local function ensure_config()
|
||||
if state.config == nil then
|
||||
state.config = {}
|
||||
end
|
||||
end
|
||||
|
||||
local function get_config()
|
||||
ensure_config()
|
||||
return state.config
|
||||
end
|
||||
|
||||
local function edit_config(fn)
|
||||
ensure_config()
|
||||
fn(state.config)
|
||||
end
|
||||
|
||||
local function apply_mode(mode)
|
||||
local config = get_config()
|
||||
local sel = config.schemes[mode] or {}
|
||||
local colorscheme = sel.colorscheme or nil
|
||||
local bg = sel.background or mode
|
||||
local lualineTheme = sel.lualine or nil
|
||||
|
||||
vim.api.nvim_command('set background=' .. bg)
|
||||
if colorscheme ~= nil then
|
||||
vim.api.nvim_command('colorscheme ' .. colorscheme)
|
||||
end
|
||||
|
||||
require('lualine').setup { options = { theme = lualineTheme } }
|
||||
|
||||
if config.onchange ~= nil then
|
||||
config.onchange(mode)
|
||||
end
|
||||
|
||||
state.current_mode = mode
|
||||
end
|
||||
|
||||
function M.update()
|
||||
local mode = vim.fn.system('dark-notify --exit')
|
||||
mode = trim6(mode)
|
||||
apply_mode(mode)
|
||||
end
|
||||
|
||||
function M.set_mode(mode)
|
||||
mode = trim6(mode)
|
||||
if not (mode == "light" or mode == "dark") then
|
||||
error("mode must be either \"light\" or \"dark\"" .. mode)
|
||||
return
|
||||
end
|
||||
apply_mode(mode)
|
||||
end
|
||||
|
||||
function M.toggle()
|
||||
local mode = state.current_mode
|
||||
if mode == "light" then
|
||||
mode = "dark"
|
||||
elseif mode == "dark" then
|
||||
mode = "light"
|
||||
else
|
||||
M.update()
|
||||
return
|
||||
end
|
||||
apply_mode(mode)
|
||||
end
|
||||
|
||||
local function init_dark_notify()
|
||||
-- Docs on this vim.loop stuff: https://github.com/luvit/luv
|
||||
|
||||
local handle, pid
|
||||
local stdout = vim.loop.new_pipe(false)
|
||||
local stdin = vim.loop.new_pipe(false)
|
||||
|
||||
local function onexit()
|
||||
vim.loop.close(handle, vim.schedule_wrap(function()
|
||||
vim.loop.shutdown(stdout)
|
||||
vim.loop.shutdown(stdin)
|
||||
state.initialized = false
|
||||
state.pid = nil
|
||||
state.stdin_handle = nil
|
||||
end))
|
||||
end
|
||||
|
||||
local function onread(err, chunk)
|
||||
assert(not err, err)
|
||||
if (chunk) then
|
||||
local mode = trim6(chunk)
|
||||
if not (mode == "light" or mode == "dark") then
|
||||
error("dark-notify output not expected: " .. chunk)
|
||||
return
|
||||
end
|
||||
apply_mode(mode)
|
||||
end
|
||||
end
|
||||
|
||||
handle, pid = vim.loop.spawn(
|
||||
"dark-notify",
|
||||
{ stdio = { stdin, stdout, nil } },
|
||||
vim.schedule_wrap(onexit)
|
||||
)
|
||||
|
||||
vim.loop.read_start(stdout, vim.schedule_wrap(onread))
|
||||
|
||||
state.initialized = true
|
||||
state.pid = pid
|
||||
state.stdin_handle = stdin
|
||||
|
||||
-- For whatever reason, nvim isn't killing child processes properly on exit
|
||||
-- So if you don't do this, you get zombie dark-notify processes hanging about.
|
||||
nvim_create_augroups({
|
||||
DarkNotifyKillChildProcess = {
|
||||
{ "VimLeave", "*", "lua require('dark_notify').stop()" },
|
||||
}
|
||||
})
|
||||
end
|
||||
|
||||
-- For whatever reason, killing the child process doesn't work, at all. So we
|
||||
-- send it the line "quit\n", and it kills itself.
|
||||
function M.stop()
|
||||
if state.stdin_handle == nil then
|
||||
return
|
||||
end
|
||||
vim.loop.write(state.stdin_handle, "quit\n")
|
||||
-- process quits itself, calls onexit
|
||||
-- config gets edited from there
|
||||
end
|
||||
|
||||
function M.configure(config)
|
||||
if config == nil then
|
||||
return
|
||||
end
|
||||
local lightline_loaders = config.lightline_loaders or {}
|
||||
local schemes = config.schemes or {}
|
||||
local onchange = config.onchange
|
||||
|
||||
for _, mode in pairs({ "light", "dark" }) do
|
||||
if type(schemes[mode]) == "string" then
|
||||
schemes[mode] = { colorscheme = schemes[mode] }
|
||||
end
|
||||
end
|
||||
|
||||
edit_config(function(conf)
|
||||
conf.lightline_loaders = lightline_loaders
|
||||
conf.schemes = schemes
|
||||
conf.onchange = onchange
|
||||
end)
|
||||
end
|
||||
|
||||
function M.run(config)
|
||||
if config ~= nil or get_config().schemes == nil then
|
||||
-- if it's nil, it's a first run, so configure with no options.
|
||||
config = config or {}
|
||||
M.configure(config)
|
||||
end
|
||||
|
||||
local config = get_config()
|
||||
if not config.initialized then
|
||||
-- first run on startup, also happens to apply current mode
|
||||
init_dark_notify()
|
||||
elseif state.current_mode ~= nil then
|
||||
-- we have run it before, but we're updating the settings
|
||||
-- so don't reset to system, but do apply changed config.
|
||||
local mode = state.current_mode
|
||||
apply_mode(mode)
|
||||
end
|
||||
end
|
||||
|
||||
return M
|
||||
|
||||
-- init.lua or init.vim in a lua <<EOF
|
||||
-- require('dark_notify').run({
|
||||
-- lightline_loaders = {
|
||||
-- my_colorscheme = "path_to_my_colorscheme's lightline autoload file"
|
||||
-- },
|
||||
-- schemes = {
|
||||
-- dark = "dark colorscheme name",
|
||||
-- light = { colorscheme = "light scheme name", background = "optional override, either light or dark" }
|
||||
-- },
|
||||
-- onchange = function(mode)
|
||||
-- end,
|
||||
-- })
|
||||
11
hm-modules/nvim/config/lua/filetypes.lua
Normal file
11
hm-modules/nvim/config/lua/filetypes.lua
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
vim.cmd [[
|
||||
autocmd FileType yaml setlocal ts=2 sts=2 sw=2 expandtab
|
||||
augroup vimtex_mac
|
||||
autocmd!
|
||||
autocmd FileType tex call SetServerName()
|
||||
augroup END
|
||||
|
||||
function! SetServerName()
|
||||
call system('echo ' . v:servername . ' > /tmp/curvimserver')
|
||||
endfunction
|
||||
]]
|
||||
68
hm-modules/nvim/config/lua/keybindings.lua
Normal file
68
hm-modules/nvim/config/lua/keybindings.lua
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
local map = require('utils').map
|
||||
|
||||
-- split binds
|
||||
map { 'n', '<A-h>', '<cmd>vertical resize -5<CR>', noremap = true, silent = true}
|
||||
map { 'n', '<A-l>', '<cmd>vertical resize +5<CR>', noremap = true, silent = true}
|
||||
map { 'n', '<A-j>', '<cmd>resize -5<CR>', noremap = true, silent = true}
|
||||
map { 'n', '<A-k>', '<cmd>resize +5<CR>', noremap = true, silent = true}
|
||||
map { 'n', '<A-=>', '<C-w> =', noremap = true, silent = true}
|
||||
|
||||
map { 'n', '<A-s>', '<cmd>vsp<CR>', noremap = true, silent = true}
|
||||
map { 'n', '<C-s>', '<cmd>split<CR>', noremap = true, silent = true}
|
||||
|
||||
map { 'n', '<C-h>', '<C-w>h', noremap = true, silent = true}
|
||||
map { 'n', '<C-j>', '<C-w>j', noremap = true, silent = true}
|
||||
map { 'n', '<C-k>', '<C-w>k', noremap = true, silent = true}
|
||||
map { 'n', '<C-l>', '<C-w>l', noremap = true, silent = true}
|
||||
|
||||
-- telescope
|
||||
map { 'n', '<leader>b', '<cmd>Telescope buffers<CR>', noremap = false, silent = true}
|
||||
--map { 'n', '<leader>ff', '<cmd>Telescope find_files<CR>', noremap = false, silent = true}
|
||||
map { 'n', '<leader>s', '<cmd>Telescope live_grep<CR>', noremap = false, silent = true}
|
||||
map { 'n', '<C-p>', '<cmd>Telescope registers<CR>', noremap = false, silent = true}
|
||||
--map { 'n', '<leader>pp', '<cmd>lua require\'telescope\'.extensions.projects.projects{}<cr>', noremap = false, silent = true}
|
||||
-- tab binds
|
||||
map { 'n', '<C-t>', '<cmd>tabnew<CR>', noremap = false, silent = true}
|
||||
map { 'n', '<C-Left>', '<cmd>tabprevious<CR>', noremap = false, silent = true}
|
||||
map { 'n', '<C-Right>', '<cmd>tabnext<CR>', noremap = false, silent = true}
|
||||
|
||||
-- copy paste
|
||||
map { 'v', '<C-c>', '"+y', noremap = true, silent = true}
|
||||
--map { 'n', '<C-b>', '"+P', noremap = false, silent = true}
|
||||
|
||||
-- sudo :w
|
||||
map { 'c', 'w!!', 'w !sudo tee > /dev/null %', noremap = false, silent = false}
|
||||
|
||||
-- vimspector
|
||||
map { 'n', '<leader>di', '<Plug>VimspectorBalloonEval', noremap = false, silent = false }
|
||||
map { 'x', '<leader>di', '<Plug>VimspectorBalloonEval', noremap = false, silent = false }
|
||||
|
||||
-- terminal
|
||||
-- map { 'n', '<leader>t', ':term<CR>', noremap = false, silent = true}
|
||||
-- map { 't', '<C-b>', '<C-\\><C-n>', noremap = true, silent = true}
|
||||
|
||||
-- plugins - nnn
|
||||
map { 'n', '<tab>', '<cmd>:NnnPicker %:p:h<CR>', noremap = true, silent = true}
|
||||
map { 'n', '<s-tab>', '<cmd>:NnnExplorer %:p:h<CR>', noremap = true, silent = true}
|
||||
|
||||
-- plugins - terminal
|
||||
map {"n", "<leader>gg", "<cmd>lua _lazygit_toggle()<CR>", {noremap = true, silent = true}}
|
||||
map {"n", "<leader>gl", "<cmd>lua _glab_toggle()<CR>", {noremap = true, silent = true}}
|
||||
map {"n", "<leader>gh", "<cmd>lua _ghub_toggle()<CR>", {noremap = true, silent = true}}
|
||||
|
||||
-- diagnostic
|
||||
map {"n", "<leader>e", "<cmd>lua require\'telescope.builtin\'.lsp_diagnostics{}<CR>", { noremap = true, silent = true}}
|
||||
map {"n", "<leader>q", "<cmd>lua vim.diagnostic.setloclist()<CR>", { noremap = true, silent = true}}
|
||||
map {"n", "]g", "<cmd>lua vim.diagnostic.goto_next()<CR>", { noremap = true, silent = true}}
|
||||
map {"n", "[g", "<cmd>lua vim.diagnostic.goto_prev()<CR>", { noremap = true, silent = true}}
|
||||
-- dap
|
||||
map {"n", "<leader>db", "<cmd>lua require'dap'.toggle_breakpoint()<CR>", { noremap = true, silent = true}}
|
||||
map {"n", "<leader>du", "<cmd>lua require'dapui'.toggle()<CR>", { noremap = true, silent = true}}
|
||||
map {"n", "<leader>dc", "<cmd>lua require'dap'.continue()<CR>", { noremap = true, silent = true}}
|
||||
map {"n", "<leader>dr", "<cmd>lua require'dap'.repl.open()<CR>", { noremap = true, silent = true}}
|
||||
map {"n", "<leader>di", "<cmd>lua require'dap'.step_into()<CR>", { noremap = true, silent = true}}
|
||||
-- cp
|
||||
map {"n", "<leader>c", "<cmd>Copilot panel<CR>", { noremap = true, silent = true}}
|
||||
vim.cmd [[
|
||||
imap <silent><script><expr> <C-J> copilot#Accept("\<CR>")
|
||||
]]
|
||||
53
hm-modules/nvim/config/lua/plugin/cmp.lua
Normal file
53
hm-modules/nvim/config/lua/plugin/cmp.lua
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
local cmp = require 'cmp'
|
||||
local lspkind = require 'lspkind'
|
||||
local luasnip = require 'luasnip'
|
||||
local has_words_before = function()
|
||||
local line, col = unpack(vim.api.nvim_win_get_cursor(0))
|
||||
return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil
|
||||
end
|
||||
|
||||
cmp.setup({
|
||||
snippet = {
|
||||
expand = function(args)
|
||||
require('luasnip').lsp_expand(args.body)
|
||||
end,
|
||||
},
|
||||
mapping = {
|
||||
['<CR>'] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
|
||||
["<Tab>"] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_next_item()
|
||||
elseif luasnip.expand_or_jumpable() then
|
||||
luasnip.expand_or_jump()
|
||||
elseif has_words_before() then
|
||||
cmp.complete()
|
||||
else
|
||||
fallback() -- The fallback function sends a already mapped key. In this case, it's probably `<Tab>`.
|
||||
end
|
||||
end, { "i", "s" }),
|
||||
["<S-Tab>"] = cmp.mapping(function()
|
||||
if cmp.visible() then
|
||||
cmp.select_prev_item()
|
||||
elseif luasnip.jumpable(-1) then
|
||||
luasnip.jump(-1)
|
||||
end
|
||||
end, { "i", "s" }),
|
||||
},
|
||||
sources = cmp.config.sources({
|
||||
{ name = "nvim_lsp" },
|
||||
{ name = 'nvim_lsp_signature_help' },
|
||||
{ name = "luasnip" },
|
||||
}, { name = "buffer" }),
|
||||
formatting = {
|
||||
format = lspkind.cmp_format({
|
||||
mode = "symbol_text",
|
||||
menu = ({
|
||||
buffer = "[Buffer]",
|
||||
nvim_lsp = "[LSP]",
|
||||
luasnip = "[LuaSnip]",
|
||||
nvim_lua = "[Lua]",
|
||||
latex_symbols = "[Latex]",
|
||||
})
|
||||
}),
|
||||
},
|
||||
})
|
||||
25
hm-modules/nvim/config/lua/plugin/dap.lua
Normal file
25
hm-modules/nvim/config/lua/plugin/dap.lua
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
local dap = require('dap')
|
||||
dap.adapters.coreclr = {
|
||||
type = 'executable',
|
||||
command = '/nix/var/nix/profiles/per-user/ragon/home-manager/home-path/bin/netcoredbg', -- TODO this is a gross hack, please fix
|
||||
args = {'--interpreter=vscode'}
|
||||
}
|
||||
dap.configurations.cs = {
|
||||
{
|
||||
type = "coreclr",
|
||||
name = "launch - netcoredbg",
|
||||
request = "launch",
|
||||
program = function()
|
||||
return vim.fn.input('Path to dll', vim.fn.getcwd() .. '/bin/Debug/', 'file')
|
||||
end,
|
||||
},
|
||||
{
|
||||
type = "coreclr",
|
||||
name = "attach - netcoredbg",
|
||||
mode = "local",
|
||||
request = "attach",
|
||||
processId = require("dap.utils").pick_process,
|
||||
},
|
||||
}
|
||||
|
||||
require'dapui'.setup {}
|
||||
1
hm-modules/nvim/config/lua/plugin/gitsigns.lua
Normal file
1
hm-modules/nvim/config/lua/plugin/gitsigns.lua
Normal file
|
|
@ -0,0 +1 @@
|
|||
require('gitsigns').setup {}
|
||||
114
hm-modules/nvim/config/lua/plugin/lsp.lua
Normal file
114
hm-modules/nvim/config/lua/plugin/lsp.lua
Normal file
|
|
@ -0,0 +1,114 @@
|
|||
local lspconfig = require 'lspconfig'
|
||||
local util = require 'lspconfig.util'
|
||||
local capabilities = require('cmp_nvim_lsp').default_capabilities()
|
||||
-- lsp keymaps
|
||||
local lsp_attach_keymappings = {
|
||||
['gD'] = 'vim.lsp.buf.declaration()',
|
||||
['gd'] = 'require\'telescope.builtin\'.lsp_definitions()',
|
||||
['K'] = 'vim.lsp.buf.hover()',
|
||||
['gi'] = 'require\'telescope.builtin\'.lsp_implementations()',
|
||||
['<localleader>k'] = 'vim.lsp.buf.signature_help()',
|
||||
['<leader>wa'] = 'vim.lsp.buf.add_workspace_folder()',
|
||||
['<leader>wr'] = 'vim.lsp.buf.remove_workspace_folder()',
|
||||
['<leader>ws'] = 'require\'telescope.builtin\'.lsp_workspace_symbols()',
|
||||
['<leader>wl'] = 'print(vim.inspect(vim.lsp.buf.list_workspace_folders()))',
|
||||
['<leader>D'] = 'require\'telescope.builtin\'.lsp_type_definitions()',
|
||||
['<leader>rn'] = 'vim.lsp.buf.rename()',
|
||||
['<leader>ca'] = 'vim.lsp.buf.code_action()',
|
||||
['gr'] = 'require\'telescope.builtin\'.lsp_references()',
|
||||
['<leader>f'] = 'vim.lsp.buf.format()'
|
||||
}
|
||||
local buf_nnoremap_lua = function(bufnr, keys, command)
|
||||
vim.api.nvim_buf_set_keymap(bufnr, 'n', keys, '<cmd>lua ' .. command .. '<CR>', { noremap = true, silent = true })
|
||||
end
|
||||
local on_lsp_attach = function(_, bufnr)
|
||||
-- Enable completion triggered by <c-x><c-o>:
|
||||
vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc')
|
||||
for key, cmd in pairs(lsp_attach_keymappings) do buf_nnoremap_lua(bufnr, key, cmd) end
|
||||
end
|
||||
|
||||
vim.g.markdown_fenced_languages = {
|
||||
"ts=typescript"
|
||||
}
|
||||
lspconfig.denols.setup { capabilities = capabilities, on_attach = on_lsp_attach, root_dir = util.root_pattern("deno.json", "deno.jsonc") }
|
||||
lspconfig.gopls.setup { capabilities = capabilities, on_attach = on_lsp_attach }
|
||||
lspconfig.pyright.setup { capabilities = capabilities, on_attach = on_lsp_attach }
|
||||
lspconfig.dartls.setup { capabilities = capabilities, on_attach = on_lsp_attach }
|
||||
lspconfig.nil_ls.setup { capabilities = capabilities, on_attach = on_lsp_attach } -- nix
|
||||
-- lspconfig.rnix.setup { capabilities = capabilities, on_attach = on_lsp_attach } -- nix
|
||||
lspconfig.terraformls.setup { capabilities = capabilities, on_attach = on_lsp_attach }
|
||||
lspconfig.kotlin_language_server.setup { capabilities = capabilities, on_attach = on_lsp_attach }
|
||||
lspconfig.sourcekit.setup { capabilities = capabilities, on_attach = on_lsp_attach, cmd = { "xcrun", "sourcekit-lsp" } } -- swift
|
||||
lspconfig.tsserver.setup { capabilities = capabilities, on_attach = on_lsp_attach }
|
||||
lspconfig.vimls.setup {
|
||||
capabilities = capabilities,
|
||||
on_attach = on_lsp_attach,
|
||||
isNeovim = true,
|
||||
}
|
||||
|
||||
lspconfig.csharp_ls.setup {
|
||||
capabilities = capabilities,
|
||||
on_attach = on_lsp_attach,
|
||||
cmd = { vim.env.HOME .. "/.dotnet/tools/csharp-ls" },
|
||||
}
|
||||
lspconfig.ltex.setup { capabilities = capabilities, on_attach = on_lsp_attach }
|
||||
-- start vscode included language servers
|
||||
lspconfig.eslint.setup { capabilities = capabilities, on_attach = on_lsp_attach }
|
||||
lspconfig.html.setup { capabilities = capabilities, on_attach = on_lsp_attach }
|
||||
lspconfig.cssls.setup { capabilities = capabilities, on_attach = on_lsp_attach }
|
||||
lspconfig.jsonls.setup { capabilities = capabilities, on_attach = on_lsp_attach }
|
||||
-- end vscode included language servers
|
||||
lspconfig.texlab.setup { capabilities = capabilities, on_attach = on_lsp_attach, settings = { texlab = {
|
||||
build = {
|
||||
executable = "tectonic",
|
||||
args = { "%f", "--keep-logs", "--synctex" },
|
||||
onSave = true,
|
||||
forwardSearchAfter = true,
|
||||
},
|
||||
chktex = { onOpenAndSave = true, },
|
||||
forwardSearch = {
|
||||
executable = "/Applications/Skim.app/Contents/SharedSupport/displayline",
|
||||
args = { "-r", "-d", "%l", "%p", "%f" },
|
||||
},
|
||||
} } }
|
||||
lspconfig.sumneko_lua.setup {
|
||||
capabilities = capabilities, on_attach = on_lsp_attach,
|
||||
settings = {
|
||||
Lua = {
|
||||
runtime = {
|
||||
version = 'LuaJIT'
|
||||
},
|
||||
diagnostics = { globals = { 'vim' } },
|
||||
workspace = {
|
||||
-- Make the LSP aware of Neovim runtime files:
|
||||
checkThirdParty = false,
|
||||
library = vim.api.nvim_get_runtime_file('', true)
|
||||
},
|
||||
format = {
|
||||
enable = true,
|
||||
defaultConfig = {
|
||||
indent_style = 'space',
|
||||
indent_size = '2',
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
-- haskell
|
||||
lspconfig.hls.setup { capabilities = capabilities, on_attach = on_lsp_attach }
|
||||
|
||||
|
||||
|
||||
local rt = require("rust-tools")
|
||||
rt.setup({
|
||||
tools = {
|
||||
inlay_hints = {
|
||||
auto = true,
|
||||
},
|
||||
},
|
||||
server = {
|
||||
capabilities = capabilities, on_attach = on_lsp_attach,
|
||||
},
|
||||
})
|
||||
local ft = require('flutter-tools')
|
||||
ft.setup {}
|
||||
215
hm-modules/nvim/config/lua/plugin/lualine.lua
Normal file
215
hm-modules/nvim/config/lua/plugin/lualine.lua
Normal file
|
|
@ -0,0 +1,215 @@
|
|||
-- Eviline config for lualine
|
||||
-- Author: shadmansaleh
|
||||
-- Credit: glepnir
|
||||
local lualine = require('lualine')
|
||||
|
||||
-- Color table for highlights
|
||||
-- stylua: ignore
|
||||
local colors = {
|
||||
bg = '#202328',
|
||||
fg = '#bbc2cf',
|
||||
yellow = '#ECBE7B',
|
||||
cyan = '#008080',
|
||||
darkblue = '#081633',
|
||||
green = '#98be65',
|
||||
orange = '#FF8800',
|
||||
violet = '#a9a1e1',
|
||||
magenta = '#c678dd',
|
||||
blue = '#51afef',
|
||||
red = '#ec5f67',
|
||||
}
|
||||
|
||||
local conditions = {
|
||||
buffer_not_empty = function()
|
||||
return vim.fn.empty(vim.fn.expand('%:t')) ~= 1
|
||||
end,
|
||||
hide_in_width = function()
|
||||
return vim.fn.winwidth(0) > 80
|
||||
end,
|
||||
check_git_workspace = function()
|
||||
local filepath = vim.fn.expand('%:p:h')
|
||||
local gitdir = vim.fn.finddir('.git', filepath .. ';')
|
||||
return gitdir and #gitdir > 0 and #gitdir < #filepath
|
||||
end,
|
||||
}
|
||||
|
||||
-- Config
|
||||
local config = {
|
||||
options = {
|
||||
-- Disable sections and component separators
|
||||
component_separators = '',
|
||||
section_separators = '',
|
||||
theme = 'gruvbox',
|
||||
},
|
||||
sections = {
|
||||
-- these are to remove the defaults
|
||||
lualine_a = {},
|
||||
lualine_b = {},
|
||||
lualine_y = {},
|
||||
lualine_z = {},
|
||||
-- These will be filled later
|
||||
lualine_c = {},
|
||||
lualine_x = {},
|
||||
},
|
||||
inactive_sections = {
|
||||
-- these are to remove the defaults
|
||||
lualine_a = {},
|
||||
lualine_b = {},
|
||||
lualine_y = {},
|
||||
lualine_z = {},
|
||||
lualine_c = {},
|
||||
lualine_x = {},
|
||||
},
|
||||
}
|
||||
|
||||
-- Inserts a component in lualine_c at left section
|
||||
local function ins_left(component)
|
||||
table.insert(config.sections.lualine_c, component)
|
||||
end
|
||||
|
||||
-- Inserts a component in lualine_x at right section
|
||||
local function ins_right(component)
|
||||
table.insert(config.sections.lualine_x, component)
|
||||
end
|
||||
|
||||
ins_left {
|
||||
function()
|
||||
return '▊'
|
||||
end,
|
||||
color = { fg = colors.blue }, -- Sets highlighting of component
|
||||
padding = { left = 0, right = 1 }, -- We don't need space before this
|
||||
}
|
||||
|
||||
ins_left {
|
||||
-- mode component
|
||||
function()
|
||||
return ''
|
||||
end,
|
||||
color = function()
|
||||
-- auto change color according to neovims mode
|
||||
local mode_color = {
|
||||
n = colors.red,
|
||||
i = colors.green,
|
||||
v = colors.blue,
|
||||
[''] = colors.blue,
|
||||
V = colors.blue,
|
||||
c = colors.magenta,
|
||||
no = colors.red,
|
||||
s = colors.orange,
|
||||
S = colors.orange,
|
||||
[''] = colors.orange,
|
||||
ic = colors.yellow,
|
||||
R = colors.violet,
|
||||
Rv = colors.violet,
|
||||
cv = colors.red,
|
||||
ce = colors.red,
|
||||
r = colors.cyan,
|
||||
rm = colors.cyan,
|
||||
['r?'] = colors.cyan,
|
||||
['!'] = colors.red,
|
||||
t = colors.red,
|
||||
}
|
||||
return { fg = mode_color[vim.fn.mode()] }
|
||||
end,
|
||||
padding = { right = 1 },
|
||||
}
|
||||
|
||||
ins_left {
|
||||
-- filesize component
|
||||
'filesize',
|
||||
cond = conditions.buffer_not_empty,
|
||||
}
|
||||
|
||||
ins_left {
|
||||
'filename',
|
||||
cond = conditions.buffer_not_empty,
|
||||
color = { fg = colors.magenta, gui = 'bold' },
|
||||
}
|
||||
|
||||
ins_left { 'location' }
|
||||
|
||||
ins_left { 'progress', color = { fg = colors.fg, gui = 'bold' } }
|
||||
|
||||
ins_left {
|
||||
'diagnostics',
|
||||
sources = { 'nvim_diagnostic' },
|
||||
symbols = { error = ' ', warn = ' ', info = ' ' },
|
||||
diagnostics_color = {
|
||||
color_error = { fg = colors.red },
|
||||
color_warn = { fg = colors.yellow },
|
||||
color_info = { fg = colors.cyan },
|
||||
},
|
||||
}
|
||||
|
||||
-- Insert mid section. You can make any number of sections in neovim :)
|
||||
-- for lualine it's any number greater then 2
|
||||
ins_left {
|
||||
function()
|
||||
return '%='
|
||||
end,
|
||||
}
|
||||
|
||||
ins_left {
|
||||
-- Lsp server name .
|
||||
function()
|
||||
local msg = 'No Active Lsp'
|
||||
local buf_ft = vim.api.nvim_buf_get_option(0, 'filetype')
|
||||
local clients = vim.lsp.get_active_clients()
|
||||
if next(clients) == nil then
|
||||
return msg
|
||||
end
|
||||
for _, client in ipairs(clients) do
|
||||
local filetypes = client.config.filetypes
|
||||
if filetypes and vim.fn.index(filetypes, buf_ft) ~= -1 then
|
||||
return client.name
|
||||
end
|
||||
end
|
||||
return msg
|
||||
end,
|
||||
icon = ' LSP:',
|
||||
color = { fg = '#ffffff', gui = 'bold' },
|
||||
}
|
||||
|
||||
-- Add components to right sections
|
||||
ins_right {
|
||||
'o:encoding', -- option component same as &encoding in viml
|
||||
fmt = string.upper, -- I'm not sure why it's upper case either ;)
|
||||
cond = conditions.hide_in_width,
|
||||
color = { fg = colors.green, gui = 'bold' },
|
||||
}
|
||||
|
||||
ins_right {
|
||||
'fileformat',
|
||||
fmt = string.upper,
|
||||
icons_enabled = false, -- I think icons are cool but Eviline doesn't have them. sigh
|
||||
color = { fg = colors.green, gui = 'bold' },
|
||||
}
|
||||
|
||||
ins_right {
|
||||
'branch',
|
||||
icon = '',
|
||||
color = { fg = colors.violet, gui = 'bold' },
|
||||
}
|
||||
|
||||
ins_right {
|
||||
'diff',
|
||||
-- Is it me or the symbol for modified us really weird
|
||||
symbols = { added = ' ', modified = '柳 ', removed = ' ' },
|
||||
diff_color = {
|
||||
added = { fg = colors.green },
|
||||
modified = { fg = colors.orange },
|
||||
removed = { fg = colors.red },
|
||||
},
|
||||
cond = conditions.hide_in_width,
|
||||
}
|
||||
|
||||
ins_right {
|
||||
function()
|
||||
return '▊'
|
||||
end,
|
||||
color = { fg = colors.blue },
|
||||
padding = { left = 1 },
|
||||
}
|
||||
|
||||
-- Now don't forget to initialize lualine
|
||||
lualine.setup(config)
|
||||
11
hm-modules/nvim/config/lua/plugin/nnn.lua
Normal file
11
hm-modules/nvim/config/lua/plugin/nnn.lua
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
require('nnn').setup({
|
||||
set_default_mappings = 0,
|
||||
replace_netrw = 1,
|
||||
layout = {
|
||||
window = {
|
||||
width = 0.9,
|
||||
height = 0.6,
|
||||
highlight = 'Debug'
|
||||
}
|
||||
}
|
||||
})
|
||||
26
hm-modules/nvim/config/lua/plugin/noice.lua
Normal file
26
hm-modules/nvim/config/lua/plugin/noice.lua
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
require("noice").setup({
|
||||
views = {
|
||||
notify = {
|
||||
merge = true,
|
||||
}
|
||||
},
|
||||
lsp = {
|
||||
override = {
|
||||
["vim.lsp.util.convert_input_to_markdown_lines"] = true,
|
||||
["vim.lsp.util.stylize_markdown"] = true,
|
||||
["cmp.entry.get_documentation"] = true,
|
||||
},
|
||||
},
|
||||
-- you can enable a preset for easier configuration
|
||||
presets = {
|
||||
bottom_search = true, -- use a classic bottom cmdline for search
|
||||
command_palette = true, -- position the cmdline and popupmenu together
|
||||
long_message_to_split = true, -- long messages will be sent to a split
|
||||
inc_rename = false, -- enables an input dialog for inc-rename.nvim
|
||||
lsp_doc_border = false, -- add a border to hover docs and signature help
|
||||
},
|
||||
})
|
||||
require("notify").setup({
|
||||
-- stages = "static",
|
||||
-- max_width = 70,
|
||||
})
|
||||
12
hm-modules/nvim/config/lua/plugin/telescope.lua
Normal file
12
hm-modules/nvim/config/lua/plugin/telescope.lua
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
local telescope = require('telescope')
|
||||
telescope.setup {
|
||||
extensions = {
|
||||
["ui-select"] = {
|
||||
require("telescope.themes").get_dropdown {
|
||||
-- even more opts
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
telescope.load_extension('ui-select')
|
||||
35
hm-modules/nvim/config/lua/plugin/terminal.lua
Normal file
35
hm-modules/nvim/config/lua/plugin/terminal.lua
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
require('toggleterm').setup {
|
||||
direction = 'window',
|
||||
open_mapping = [[<c-n>]],
|
||||
}
|
||||
local Terminal = require('toggleterm.terminal').Terminal
|
||||
|
||||
local lazygit = Terminal:new {
|
||||
cmd = "lazygit",
|
||||
hidden = true,
|
||||
direction = 'float'
|
||||
}
|
||||
|
||||
function _lazygit_toggle()
|
||||
lazygit:toggle()
|
||||
end
|
||||
|
||||
local glab = Terminal:new {
|
||||
cmd = "glab ci view",
|
||||
hidden = true,
|
||||
direction = 'float'
|
||||
}
|
||||
|
||||
function _glab_toggle()
|
||||
glab:toggle()
|
||||
end
|
||||
|
||||
local ghub = Terminal:new {
|
||||
cmd = "gh run view",
|
||||
hidden = true,
|
||||
direction = 'float'
|
||||
}
|
||||
|
||||
function _ghub_toggle()
|
||||
ghub:toggle()
|
||||
end
|
||||
26
hm-modules/nvim/config/lua/plugin/treesitter.lua
Normal file
26
hm-modules/nvim/config/lua/plugin/treesitter.lua
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
local treesitter_parser_install_dir = '/var/tmp/nvim-treesitter/parser'
|
||||
require'nvim-treesitter.configs'.setup {
|
||||
highlight = {
|
||||
enable = true,
|
||||
-- use_languagetree = true,
|
||||
},
|
||||
parser_install_dir = treesitter_parser_install_dir,
|
||||
-- indent = {
|
||||
-- enable = true,
|
||||
-- },
|
||||
-- autotag = {
|
||||
-- enable = true,
|
||||
-- },
|
||||
-- context_commentstring = {
|
||||
-- enable = true,
|
||||
-- enable_autocmd = false,
|
||||
-- },
|
||||
-- refactor = {
|
||||
-- highlight_definitions = { enable = true },
|
||||
-- highlight_current_scope = { enable = false },
|
||||
-- },
|
||||
}
|
||||
|
||||
require'treesitter-context'.setup{
|
||||
enable = true, -- Enable this plugin (Can be enabled/disabled later via commands)
|
||||
}
|
||||
21
hm-modules/nvim/config/lua/utils.lua
Normal file
21
hm-modules/nvim/config/lua/utils.lua
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
-- cool map funciton from https://vonheikemen.github.io/devlog/tools/configuring-neovim-using-lua/
|
||||
utils = {}
|
||||
utils.map = function(key)
|
||||
-- get the extra options
|
||||
local opts = {noremap = false}
|
||||
for i, v in pairs(key) do
|
||||
if (i) == 'string' then opts[i] = v end
|
||||
end
|
||||
|
||||
-- basic support for buffer-scoped keybindings
|
||||
local buffer = opts.buffer
|
||||
opts.buffer = nil
|
||||
|
||||
if buffer then
|
||||
vim.api.nvim_buf_set_keymap(0, key[1], key[2], key[3], opts)
|
||||
else
|
||||
vim.api.nvim_set_keymap(key[1], key[2], key[3], opts)
|
||||
end
|
||||
end
|
||||
|
||||
return utils
|
||||
75
hm-modules/nvim/config/nvim.lua
Normal file
75
hm-modules/nvim/config/nvim.lua
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
-- general settings
|
||||
vim.cmd [[
|
||||
filetype plugin on
|
||||
filetype indent plugin on
|
||||
filetype plugin indent on
|
||||
syntax on
|
||||
]]
|
||||
-- mapleader
|
||||
local opt = vim.opt
|
||||
vim.g.mapleader = ' '
|
||||
vim.g.maplocalleader = ','
|
||||
|
||||
-- color stuff
|
||||
opt.termguicolors = true -- 24bit color
|
||||
require('gruvbox').setup({})
|
||||
require('tokyonight').setup({})
|
||||
opt.background = 'dark' -- dark gruvbox
|
||||
vim.cmd ':colorscheme gruvbox'
|
||||
require('dark_notify').run({
|
||||
schemes = {
|
||||
light = {
|
||||
colorscheme = 'tokyonight',
|
||||
background = 'light',
|
||||
lualine = 'tokyonight'
|
||||
},
|
||||
dark = {
|
||||
colorscheme = 'gruvbox',
|
||||
background = 'dark',
|
||||
lualine = 'gruvbox'
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
|
||||
|
||||
--vimspector
|
||||
vim.g.vimspector_base_dir = vim.env.HOME .. "/.local/share/nvim/vimspector"
|
||||
vim.g.vimspector_enable_mappings = "HUMAN"
|
||||
vim.g.copilot_no_tab_map = true
|
||||
|
||||
|
||||
opt.encoding = 'utf-8'
|
||||
opt.number = true
|
||||
opt.relativenumber = true
|
||||
opt.undofile = true -- save undo chages even after computer restart
|
||||
opt.showcmd = true -- show (partial) command in status line
|
||||
opt.showmatch = true -- show match brackets
|
||||
opt.wildmenu = true -- visual autocomplete for command menu
|
||||
-- Splits open at the bottom and right, which is non-retarded, unlike vim defaults.
|
||||
opt.splitbelow = true
|
||||
opt.splitright = true
|
||||
-- indents
|
||||
opt.expandtab = true
|
||||
opt.shiftwidth = 2
|
||||
opt.softtabstop = 2
|
||||
-- buffers don't get unloaded when hidden
|
||||
opt.hidden = true
|
||||
-- low updatetime so it isnt as slow
|
||||
opt.updatetime = 100
|
||||
|
||||
require('utils')
|
||||
require('keybindings')
|
||||
require('filetypes')
|
||||
|
||||
-- load plugin luas (idk how to do that autmagically)
|
||||
require('plugin.treesitter')
|
||||
require('plugin.nnn')
|
||||
require('plugin.terminal')
|
||||
require('plugin.noice')
|
||||
require('plugin.telescope')
|
||||
require('plugin.cmp')
|
||||
require('plugin.lsp')
|
||||
require('plugin.dap')
|
||||
require('plugin.lualine')
|
||||
require('plugin.gitsigns')
|
||||
Loading…
Add table
Add a link
Reference in a new issue