add: nvim: add LS of JETls
This commit is contained in:
parent
cca93ec5cc
commit
3c1ac240af
3 changed files with 93 additions and 0 deletions
|
@ -25,6 +25,7 @@ mkdir -p ~/.config/nvim/lua
|
|||
ln -sf $(pwd)/dotfiles/neovim/lua/lualine_setup.lua ~/.config/nvim/lua/lualine_setup.lua
|
||||
mkdir -p ~/.config/nvim/lua/lspconfig/server_configurations
|
||||
ln -sf $(pwd)/dotfiles/neovim/lua/lspconfig/server_configurations/satysfi_ls.lua ~/.config/nvim/lua/lspconfig/server_configurations/satysfi_ls.lua
|
||||
ln -sf $(pwd)/dotfiles/neovim/lua/lspconfig/server_configurations/jetls.lua ~/.config/nvim/lua/lspconfig/server_configurations/jetls.lua
|
||||
mkdir -p ~/.config/nvim/after/ftplugin
|
||||
ln -sf $(pwd)/dotfiles/neovim/after/ftplugin/satysfi.lua ~/.config/nvim/after/ftplugin/satysfi.lua
|
||||
ln -sf $(pwd)/dotfiles/neovim/after/ftplugin/tex.lua ~/.config/nvim/after/ftplugin/tex.lua
|
||||
|
|
|
@ -50,6 +50,28 @@ require('lazy').setup({
|
|||
'lervag/vimtex',
|
||||
ft = { 'tex', 'latex' },
|
||||
},
|
||||
{
|
||||
-- 'kdheepak/JET.nvim',
|
||||
'qwjyh/JET.nvim',
|
||||
dir = '~/work/julia/JET.nvim',
|
||||
dev = false, -- set true to use dir
|
||||
lazy = true,
|
||||
dependencies = {
|
||||
'jose-elias-alvarez/null-ls.nvim',
|
||||
},
|
||||
config = function()
|
||||
require("jet").setup {
|
||||
timeout = 15000,
|
||||
-- disable setup since null-ls doesn't support lspconfig
|
||||
-- https://github.com/jose-elias-alvarez/null-ls.nvim/commit/656e5cb554fed1eb2f398f325511601fab988ce0
|
||||
setup_lspconfig = false,
|
||||
debug = true,
|
||||
}
|
||||
end,
|
||||
-- build process(make environments and add JET.jl)
|
||||
build = [[mkdir -p ~/.julia/environments/nvim-null-ls && julia --startup-file=no --project=~/.julia/environments/nvim-null-ls -e 'using Pkg; Pkg.add("JET")']],
|
||||
-- ft = { 'julia', },
|
||||
},
|
||||
{ 'lewis6991/gitsigns.nvim', },
|
||||
'neovim/nvim-lspconfig',
|
||||
{
|
||||
|
@ -378,6 +400,8 @@ lspconfig.texlab.setup {
|
|||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
}
|
||||
-- -- jetls
|
||||
-- lspconfig.jetls.setup {}
|
||||
|
||||
-- nvim-cmp setup
|
||||
local cmp = require 'cmp'
|
||||
|
|
|
@ -0,0 +1,68 @@
|
|||
-- local cmd = {
|
||||
-- 'julia',
|
||||
-- '--startup-file=no',
|
||||
-- '--history-file=no',
|
||||
-- '-e',
|
||||
-- [[
|
||||
-- # Load JETLS.jl: attempt to load from ~/.julia/environments/nvim-lspconfig
|
||||
-- # with the regular load path as a fallback
|
||||
-- jet_install_path = joinpath(
|
||||
-- get(DEPOT_PATH, 1, joinpath(homedir(), ".julia")),
|
||||
-- "environments", "nvim-lspconfig"
|
||||
-- )
|
||||
-- pushfirst!(LOAD_PATH, jet_install_path)
|
||||
-- using JETLS
|
||||
-- popfirst!(LOAD_PATH)
|
||||
-- depot_path = get(ENV, "JULIA_DEPOT_PATH", "")
|
||||
-- project_path = let
|
||||
-- dirname(something(
|
||||
-- ## 1. Finds an explicitly set project (JULIA_PROJECT)
|
||||
-- Base.load_path_expand((
|
||||
-- p = get(ENV, "JULIA_PROJECT", nothing);
|
||||
-- p === nothing ? nothing : isempty(p) ? nothing : p
|
||||
-- )),
|
||||
-- ## 2. Look for a Project.toml file in the current working directory,
|
||||
-- ## or parent directories, with $HOME as an upper boundary
|
||||
-- Base.current_project(),
|
||||
-- ## 3. First entry in the load path
|
||||
-- get(Base.load_path(), 1, nothing),
|
||||
-- ## 4. Fallback to default global environment,
|
||||
-- ## this is more or less unreachable
|
||||
-- Base.load_path_expand("@v#.#"),
|
||||
-- ))
|
||||
-- end
|
||||
-- @info "Running JETLS language server" VERSION pwd() project_path
|
||||
-- @info "not running yet"
|
||||
-- JETLS.runserver(stdin, stdout)
|
||||
-- ]],
|
||||
-- }
|
||||
local cmd = {
|
||||
'julia',
|
||||
'--startup-file=no',
|
||||
'--history-file=no',
|
||||
'-e',
|
||||
[[
|
||||
println("===STARTING JETLS===")
|
||||
using JETLS
|
||||
JETLS.runserver(stdin, stdout)
|
||||
@info "Running JETLS" VERSION pwd() project_path
|
||||
@info "============================"
|
||||
]],
|
||||
}
|
||||
|
||||
return {
|
||||
default_config = {
|
||||
cmd = cmd,
|
||||
filetypes = { 'julia' },
|
||||
root_dir = function(fname)
|
||||
local util = require 'lspconfig.util'
|
||||
return util.root_pattern 'Project.toml' (fname) or util.find_git_ancestor(fname) or
|
||||
util.path.dirname(fname)
|
||||
end,
|
||||
},
|
||||
docs = {
|
||||
description = [[
|
||||
TBW
|
||||
]],
|
||||
},
|
||||
}
|
Loading…
Reference in a new issue