From 7747bb47e2d053d78a905d4f95e3e04d96f8e126 Mon Sep 17 00:00:00 2001 From: Danila Fedorin Date: Wed, 30 Aug 2023 09:11:18 -0700 Subject: [PATCH 1/2] Pull some changes from the work machine --- nvim/.config/nvim/init.vim | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/nvim/.config/nvim/init.vim b/nvim/.config/nvim/init.vim index 02413ae..6ca53d4 100644 --- a/nvim/.config/nvim/init.vim +++ b/nvim/.config/nvim/init.vim @@ -27,6 +27,9 @@ Plug 'derekelkins/agda-vim' Plug 'ftorres16/spice.vim' Plug 'vmware/differential-datalog', {'rtp': 'tools/vim'} Plug 'FStarLang/VimFStar', {'for': 'fstar'} +" Plug '~/Documents/software/chapel/highlight/vim' +Plug 'lorin/vim-alloy' +" Plug 'ashinkarov/nvim-agda' " Themes Plug 'arcticicestudio/nord-vim' @@ -40,6 +43,7 @@ Plug 'simrat39/symbols-outline.nvim' Plug 'folke/todo-comments.nvim' " Misc +Plug 'uga-rosa/utf8.nvim' Plug 'nvim-lua/plenary.nvim' Plug 'airblade/vim-gitgutter' Plug 'f-person/git-blame.nvim' @@ -61,6 +65,7 @@ autocmd BufNewFile,BufRead *.cir set filetype=spice " LTSpice is Spice autocmd BufRead,BufNewFile *.dl set filetype=dl " Datalog is Datalog autocmd FileType crystal setlocal shiftwidth=2 " Crystal likes 2-wide indent autocmd FileType cpp setlocal shiftwidth=2 " Chapel has two-wide indents +autocmd BufRead,BufNewFile *.ast set filetype=ast " AST files are from Chapel. " Settings for Rainbow let g:rainbow_active = 1 @@ -94,6 +99,9 @@ lua require('lspconfig').tsserver.setup{} lua require('lspconfig').elmls.setup{} lua require('lspconfig').pylsp.setup{} +" All these language servers can be used for symbols-outline +lua require("symbols-outline").setup() + " nmap K (lcn-menu) nmap M lua vim.lsp.diagnostic.show_line_diagnostics() nmap ? lua vim.lsp.buf.hover() From 3e6a62b798e3d7df1bfc99698f80d14005f8d3bd Mon Sep 17 00:00:00 2001 From: Danila Fedorin Date: Sat, 10 Feb 2024 14:30:42 -0800 Subject: [PATCH 2/2] Configure CLS and chplcheck Signed-off-by: Danila Fedorin --- nvim/.config/nvim/init.vim | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/nvim/.config/nvim/init.vim b/nvim/.config/nvim/init.vim index 6ca53d4..a92bff2 100644 --- a/nvim/.config/nvim/init.vim +++ b/nvim/.config/nvim/init.vim @@ -59,6 +59,7 @@ set guifont=Iosevka:h35 " Use Ioeska in frontends. set hidden autocmd ColorScheme * highlight ExtraWhitespace ctermbg=red guibg=red +autocmd ColorScheme * highlight Comment ctermfg=green autocmd BufWinEnter * match ExtraWhitespace /\s\+$/ " Highlight trailing whitespace autocmd BufRead,BufNewFile *.v set filetype=coq " Coq is not Verilog autocmd BufNewFile,BufRead *.cir set filetype=spice " LTSpice is Spice @@ -98,6 +99,7 @@ lua require('lspconfig').clangd.setup{} lua require('lspconfig').tsserver.setup{} lua require('lspconfig').elmls.setup{} lua require('lspconfig').pylsp.setup{} +lua require('lspconfig').pyright.setup{} " All these language servers can be used for symbols-outline lua require("symbols-outline").setup() @@ -143,3 +145,35 @@ lua << EOF search = { command = "ag", }, } EOF + +lua << EOF + local lspconfig = require 'lspconfig' + local configs = require 'lspconfig.configs' + local util = require 'lspconfig.util' + + configs.chplcheck = { + default_config = { + cmd = {"chplcheck", "--lsp", "--enable-rule", "UnusedFormal", "--enable-rule", "UnusedLoopIndex"}, + filetypes = {'chpl'}, + autostart = true, + single_file_support = true, + root_dir = util.find_git_ancestor, + settings = {}, + }, + } + + configs.chpllsp = { + default_config = { + cmd = {"/Users/daniel.fedorin/Documents/software/chapel/tools/chpl-language-server/chpl-language-server", "--resolver"}, + filetypes = {'chpl'}, + autostart = true, + single_file_support = true, + root_dir = util.find_git_ancestor, + settings = {}, + }, + } + + lspconfig.chplcheck.setup{} + lspconfig.chpllsp.setup{} + vim.cmd("autocmd BufRead,BufNewFile *.chpl set filetype=chpl") +EOF