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
|
ln -sf $(pwd)/dotfiles/neovim/lua/lualine_setup.lua ~/.config/nvim/lua/lualine_setup.lua
|
||||||
mkdir -p ~/.config/nvim/lua/lspconfig/server_configurations
|
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/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
|
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/satysfi.lua ~/.config/nvim/after/ftplugin/satysfi.lua
|
||||||
ln -sf $(pwd)/dotfiles/neovim/after/ftplugin/tex.lua ~/.config/nvim/after/ftplugin/tex.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',
|
'lervag/vimtex',
|
||||||
ft = { 'tex', 'latex' },
|
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', },
|
{ 'lewis6991/gitsigns.nvim', },
|
||||||
'neovim/nvim-lspconfig',
|
'neovim/nvim-lspconfig',
|
||||||
{
|
{
|
||||||
|
@ -378,6 +400,8 @@ lspconfig.texlab.setup {
|
||||||
on_attach = on_attach,
|
on_attach = on_attach,
|
||||||
capabilities = capabilities,
|
capabilities = capabilities,
|
||||||
}
|
}
|
||||||
|
-- -- jetls
|
||||||
|
-- lspconfig.jetls.setup {}
|
||||||
|
|
||||||
-- nvim-cmp setup
|
-- nvim-cmp setup
|
||||||
local cmp = require 'cmp'
|
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