diff --git a/.config/nvim/fnl/plugins.fnl b/.config/nvim/fnl/plugins.fnl index 6696b8e..e606161 100644 --- a/.config/nvim/fnl/plugins.fnl +++ b/.config/nvim/fnl/plugins.fnl @@ -28,7 +28,7 @@ :require :settings.window-picker) (use! :nvim-neo-tree/neo-tree.nvim - :branch "v2.x" + :branch "v3.x" :requires [:nvim-lua/plenary.nvim :nvim-telescope/telescope.nvim :kyazdani42/nvim-web-devicons @@ -46,7 +46,6 @@ :require :bufdelete) (use! :akinsho/bufferline.nvim - :tag "v2.*" :requires [:kyazdani42/nvim-web-devicons :famiu/bufdelete.nvim "~/.config/nvim/themes/solarized.nvim"] diff --git a/.config/nvim/fnl/settings/lsp/hls.fnl b/.config/nvim/fnl/settings/lsp/hls.fnl new file mode 100644 index 0000000..4eaa9a3 --- /dev/null +++ b/.config/nvim/fnl/settings/lsp/hls.fnl @@ -0,0 +1,10 @@ +(local M {}) + +(fn M.setup [opts] + (vim.lsp.config :hls + {:on_attach opts.on_attach + :capabilities opts.capabilities + :flags opts.flags + :cmd [:/home/rhiobet/.cabal/bin/haskell-language-server "--lsp"]})) + +M diff --git a/.config/nvim/fnl/settings/lsp/ltex.fnl b/.config/nvim/fnl/settings/lsp/ltex.fnl index ea1a836..17a24c4 100644 --- a/.config/nvim/fnl/settings/lsp/ltex.fnl +++ b/.config/nvim/fnl/settings/lsp/ltex.fnl @@ -73,7 +73,7 @@ nil) (fn M.setup [opts] - ((. (require :lspconfig) :ltex :setup) + (vim.lsp.config :ltex {:on_attach (fn [client] (opts.on_attach client) (post_attach) nil) diff --git a/.config/nvim/fnl/settings/lsp/ts_ls.fnl b/.config/nvim/fnl/settings/lsp/ts_ls.fnl new file mode 100644 index 0000000..f4d82a8 --- /dev/null +++ b/.config/nvim/fnl/settings/lsp/ts_ls.fnl @@ -0,0 +1,16 @@ +(local M {}) + +(local vue_language_server_path (.. (vim.fn.expand :$MASON/packages) :/vue-language-server "/node_modules/@vue/language-server")) + +(fn M.setup [opts] + (vim.lsp.config :ts_ls + {:on_attach opts.on_attach + :capabilities opts.capabilities + :flags opts.flags + :init_options {:plugins [{:name "@vue/typescript-plugin" + :location vue_language_server_path + :languages [:vue] + :configNamespace :typescript}]} + :filetypes [:typescript :javascript :javascriptreact :typescriptreact :vue]})) + +M diff --git a/.config/nvim/fnl/settings/lsp/vue_ls.fnl b/.config/nvim/fnl/settings/lsp/vue_ls.fnl new file mode 100644 index 0000000..ac53395 --- /dev/null +++ b/.config/nvim/fnl/settings/lsp/vue_ls.fnl @@ -0,0 +1,10 @@ +(local M {}) + +(fn M.setup [opts] + (vim.lsp.config :vue_ls + {:on_attach opts.on_attach + :capabilities opts.capabilities + :flags opts.flags + :filetypes [:vue]})) + +M diff --git a/.config/nvim/fnl/settings/lspconfig.fnl b/.config/nvim/fnl/settings/lspconfig.fnl index 659914d..36d972d 100644 --- a/.config/nvim/fnl/settings/lspconfig.fnl +++ b/.config/nvim/fnl/settings/lspconfig.fnl @@ -5,11 +5,13 @@ [:bashls :eslint :gopls + :hls :java_language_server :ltex :lua_ls :pyright - :tsserver]) + :ts_ls + :vue_ls]) ; Mappings. (map! [n :noremap] "e" vim.diagnostic.open_float) @@ -30,7 +32,7 @@ (map! [n :noremap :buffer] :rn vim.lsp.buf.rename) (map! [n :noremap :buffer] :ca vim.lsp.buf.code_action) (map! [n :noremap :buffer] :gr vim.lsp.buf.references) - (map! [n :noremap :buffer] :f vim.lsp.buf.formatting)) + (map! [n :noremap :buffer] :f vim.lsp.buf.format)) (local capabilities ((. (require :cmp_nvim_lsp) :default_capabilities) (vim.lsp.protocol.make_client_capabilities))) @@ -46,7 +48,7 @@ (local (status config) (pcall require (.. "settings.lsp." lsp))) (if status (config.setup lsp_opts) - ((. (require :lspconfig) lsp :setup) lsp_opts))) + (vim.lsp.config lsp lsp_opts))) ; LuaSnip setup (local luasnip (require :luasnip)) @@ -78,5 +80,4 @@ (fallback))) [:i :s])}) :sources [{:name "luasnip"} - {:name "nvim_lsp"}] - :formatting {:format (lspkind.cmp_format {:mode "symbol_text"})}}) + {:name "nvim_lsp"}]}) diff --git a/.config/nvim/fnl/settings/neo-tree.fnl b/.config/nvim/fnl/settings/neo-tree.fnl index 0da5a1e..729c8be 100644 --- a/.config/nvim/fnl/settings/neo-tree.fnl +++ b/.config/nvim/fnl/settings/neo-tree.fnl @@ -10,7 +10,7 @@ :S "split_with_window_picker" :s "vsplit_with_window_picker"}} :filesystem {:filtered_items {:visible true} - :follow_current_file true + :follow_current_file {:enabled true} :window {:mappings {:/ "noop" :g/ "fuzzy_finder" :f "noop" @@ -45,7 +45,7 @@ _ (do (exec! [silent !file -bL --mime `(.. "'" quoted_path "'") - | grep -qv "^text\\|^inode\\|^application/json"]) + | grep -qv "^text\\|^inode\\|^application/json\\|^application/javascript"]) (if (= vim.v.shell_error 1) ((. (require :neo-tree.sources.filesystem.commands) :open_with_window_picker) state) (exec! [silent diff --git a/.config/nvim/fnl/settings/telescope.fnl b/.config/nvim/fnl/settings/telescope.fnl index 2e84d9e..1958087 100644 --- a/.config/nvim/fnl/settings/telescope.fnl +++ b/.config/nvim/fnl/settings/telescope.fnl @@ -3,7 +3,9 @@ (local actions (require :telescope.actions)) (setup :telescope - {:defaults {:mappings {:n {:S actions.file_split + {:defaults {:mappings {:i {"" actions.cycle_history_next + "" actions.cycle_history_prev} + :n {:S actions.file_split :s actions.file_vsplit}} :get_selection_window (. (require :window-picker) :pick_window)} :pickers {:find_files {:find_command [:fd "--type" "f" diff --git a/.config/nvim/fnl/settings/treesitter.fnl b/.config/nvim/fnl/settings/treesitter.fnl index 0f949cd..fe52bc1 100644 --- a/.config/nvim/fnl/settings/treesitter.fnl +++ b/.config/nvim/fnl/settings/treesitter.fnl @@ -10,7 +10,8 @@ :lua :python :rust - :typescript] + :typescript + :vue] :sync_install false :ignore_install [] :highlight {:enable true