diff options
| author | ivan-boikov <ik.boikov@protonmail.com> | 2021-01-23 11:29:57 +0100 |
|---|---|---|
| committer | ivan-boikov <ik.boikov@protonmail.com> | 2021-01-23 11:29:57 +0100 |
| commit | 25c63760eb0c995543c9151b446092d17325c562 (patch) | |
| tree | 1cbb7b5155a3f3b0f9ad204d40fee13925a22dbb /nvim/.config | |
| parent | e001653460c1343512d940260046704d2387c102 (diff) | |
Initial commit
Diffstat (limited to 'nvim/.config')
| -rw-r--r-- | nvim/.config/nvim/init.vim | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/nvim/.config/nvim/init.vim b/nvim/.config/nvim/init.vim new file mode 100644 index 0000000..e0a6d13 --- /dev/null +++ b/nvim/.config/nvim/init.vim @@ -0,0 +1,62 @@ +set smartindent +set tabstop=4 +set shiftwidth=4 +set expandtab + +set nocompatible +filetype plugin on +syntax on +set encoding=utf-8 +set number relativenumber + +set wildmenu +set wildmode=longest:list,full + +call plug#begin('~/.config/nvim/plugged') +Plug 'JuliaEditorSupport/julia-vim' +Plug 'jpalardy/vim-slime' +Plug 'scrooloose/nerdtree' +Plug 'neovim/nvim-lspconfig' +Plug 'ervandew/supertab' +call plug#end() + +let g:slime_paste_file = "$HOME/.cache/slime_paste" + +autocmd Filetype julia setlocal omnifunc=v:lua.vim.lsp.omnifunc + +lua << EOF +require'lspconfig'.julials.setup{ + on_new_config = function(new_config,new_root_dir) + server_path = "/home/ivan/.julia/packages/LanguageServer/y1ebo/src" + cmd = { + "julia", + "--project="..server_path, + "--startup-file=no", + "--history-file=no", + "-e", [[ + using Pkg; + Pkg.instantiate() + using LanguageServer; using SymbolServer; + depot_path = get(ENV, "JULIA_DEPOT_PATH", "") + project_path = dirname(something(Base.current_project(pwd()), Base.load_path_expand(LOAD_PATH[2]))) + # Make sure that we only load packages from this environment specifically. + @info "Running language server" env=Base.load_path()[1] pwd() project_path depot_path + server = LanguageServer.LanguageServerInstance(stdin, stdout, project_path, depot_path); + server.runlinter = true; + run(server); + ]] + }; + new_config.cmd = cmd + end +} +EOF + +nnoremap <silent> <c-]> <cmd>lua vim.lsp.buf.definition()<CR> +nnoremap <silent> K <cmd>lua vim.lsp.buf.hover()<CR> +nnoremap <silent> gD <cmd>lua vim.lsp.buf.implementation()<CR> +nnoremap <silent> <c-k> <cmd>lua vim.lsp.buf.signature_help()<CR> +nnoremap <silent> 1gD <cmd>lua vim.lsp.buf.type_definition()<CR> +nnoremap <silent> gr <cmd>lua vim.lsp.buf.references()<CR> +nnoremap <silent> g0 <cmd>lua vim.lsp.buf.document_symbol()<CR> +nnoremap <silent> gW <cmd>lua vim.lsp.buf.workspace_symbol()<CR> +nnoremap <silent> gd <cmd>lua vim.lsp.buf.declaration()<CR> |
