From 88aabfd88f471dd0b34f88a8c26cb3b5ea939f0d Mon Sep 17 00:00:00 2001 From: qwjyh Date: Tue, 25 Mar 2025 16:21:27 +0900 Subject: [PATCH] new(nvim): add JETLS config https://github.com/aviatesk/JETLS.jl --- dotfiles/neovim/init.lua | 9 +++++ .../lspconfig/server_configurations/jetls.lua | 36 +++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 dotfiles/neovim/lua/lspconfig/server_configurations/jetls.lua diff --git a/dotfiles/neovim/init.lua b/dotfiles/neovim/init.lua index c985132..f3d4224 100644 --- a/dotfiles/neovim/init.lua +++ b/dotfiles/neovim/init.lua @@ -731,6 +731,15 @@ lspconfig.julials.setup { run(server) ]] } } +-- JETLS +require 'lspconfig.server_configurations.jetls' +lspconfig.jetls.setup { + on_attach = function(client, bufnr) + on_attach(client, bufnr) + vim.lsp.inlay_hint.enable(true, { bufnr = bufnr }) + end, + capabilities = capabilities, +} -- SATySFi require 'lspconfig.server_configurations.satysfi_ls' lspconfig.satysfi_ls.setup { diff --git a/dotfiles/neovim/lua/lspconfig/server_configurations/jetls.lua b/dotfiles/neovim/lua/lspconfig/server_configurations/jetls.lua new file mode 100644 index 0000000..fb6b304 --- /dev/null +++ b/dotfiles/neovim/lua/lspconfig/server_configurations/jetls.lua @@ -0,0 +1,36 @@ +local configs = require 'lspconfig.configs' +local util = require 'lspconfig.util' + +local root_files = { 'Project.toml', 'JuliaProject.toml' } + +configs.jetls = { + default_config = { + cmd = { + 'julia', + '--project=' .. vim.env.HOME .. '/work/julia/JETLS.jl', + '--startup-file=no', + '--history-file=no', + '-e', + [[ + using JETLS + runserver(stdin, stdout) + ]] + }, + filetypes = { 'julia' }, + root_dir = function(fname) + return util.root_pattern(unpack(root_files))(fname) + or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true, })[1]) + end, + single_file_support = true, + }, + commands = { + -- JuliaActivateEnv = { + -- activate_env + -- } + }, + docs = { + description = [[ +JETLS: https://github.com/aviatesk/JETLS.jl + ]], + }, +}