diff --git a/.aegisub/automation/.envrc b/.aegisub/automation/.envrc new file mode 100644 index 0000000..eae6678 --- /dev/null +++ b/.aegisub/automation/.envrc @@ -0,0 +1 @@ +export AEGISUB_LUA=1 diff --git a/.config/mpv/.envrc b/.config/mpv/.envrc new file mode 100644 index 0000000..22b6ae0 --- /dev/null +++ b/.config/mpv/.envrc @@ -0,0 +1 @@ +export MPV_LUA=1 diff --git a/.config/nvim/.envrc b/.config/nvim/.envrc new file mode 100644 index 0000000..3c351b4 --- /dev/null +++ b/.config/nvim/.envrc @@ -0,0 +1 @@ +export NVIM_LUA=1 diff --git a/.config/nvim/fnl/config/lsp/servers.fnl b/.config/nvim/fnl/config/lsp/servers.fnl index 95b62ac..783c08b 100644 --- a/.config/nvim/fnl/config/lsp/servers.fnl +++ b/.config/nvim/fnl/config/lsp/servers.fnl @@ -4,7 +4,6 @@ (local setup_ls (require :config.lsp.setup_ls)) (local mason_utils (require :config.lsp.mason)) -(setup :lua-dev {}) ;; init servers with manual configuration (local schemastore (require :schemastore)) @@ -19,8 +18,16 @@ (setup_ls :jdtls {:init_options {:extendedClientCapabilities {:progressReportProvider false}}}) (local globals []) -(when vim.env.MPV_LUA (table.insert globals :mp)) +(local workspace {}) +(when vim.env.MPV_LUA (table.insert globals :mp)) (when vim.env.AEGISUB_LUA (table.insert globals :aegisub)) -(setup_ls :sumneko_lua {:Lua {:diagnostics {:globals globals}}}) +(when vim.env.NVIM_LUA + (setup :lua-dev {}) + (set workspace.library (vim.api.nvim_get_runtime_file "" true))) -(mason_utils.setup_installed_servers :pyright :clangd :lemminx :tsserver :vimls :sumneko_lua) +(setup_ls :sumneko_lua {:settings {:Lua {:diagnostics {:globals globals} + :runtime {:version "LuaJIT"} + :workspace workspace + :telemetry {:enable false}}}}) + +(mason_utils.setup_installed_servers :pyright :clangd :lemminx :tsserver :vimls) diff --git a/.config/nvim/fnl/config/lsp/setup_ls.fnl b/.config/nvim/fnl/config/lsp/setup_ls.fnl index 88a0d12..9fcba35 100644 --- a/.config/nvim/fnl/config/lsp/setup_ls.fnl +++ b/.config/nvim/fnl/config/lsp/setup_ls.fnl @@ -50,10 +50,6 @@ ;; lsp helpers (local configured_ls []) -(let [lsputil (require :lspconfig.util)] - (lsputil.add_hook_before lsputil.on_setup - (fn [config] (tset configured_ls config.name true)))) - (fn setup_ls [lsp options ignore_if_configured] (local ls_options {:on_attach on_attach :capabilities capabilities}) @@ -64,4 +60,5 @@ (if (. configured_ls lsp) (if (not ignore_if_configured) (vim.notify (.. lsp " is set up several times") vim.log.levels.WARN)) - ((. (. (require :lspconfig) lsp) :setup) ls_options))) + (do ((. (. (require :lspconfig) lsp) :setup) ls_options) + (tset configured_ls lsp true)))) diff --git a/.gitignore b/.gitignore index b0238ca..7942715 100644 --- a/.gitignore +++ b/.gitignore @@ -33,6 +33,7 @@ Cache /.config/mpv/scripts/japan7.lua /.config/mpv/scripts/aniupdate.lua !/.config/mpv/shaders +!/.config/mpv/.envrc # picom config file !/.config/picom.conf