Mercurial
annotate vim-setup/.vimrc @ 71:75de5903355c
Giagantic changes that update Dowa library to be more align with stb style array and hashmap. Updated Seobeo to be caching on server side instead of file level caching. Deleted bunch of things I don't really use.
| author | June Park <parkjune1995@gmail.com> |
|---|---|
| date | Sun, 28 Dec 2025 20:34:22 -0800 |
| parents | 983769fba767 |
| children | 76cd7afa6b8e |
| rev | line source |
|---|---|
|
43
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
1 " Line numbers |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
2 set number |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
3 set relativenumber |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
4 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
5 " Turn off error |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
6 set noerrorbells |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
7 set novisualbell |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
8 set t_vb= |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
9 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
10 " Indentation |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
11 set tabstop=2 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
12 set shiftwidth=2 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
13 set expandtab |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
14 set autoindent |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
15 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
16 " Syntax |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
17 syntax on |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
18 filetype plugin indent on |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
19 set termguicolors |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
20 let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum" |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
21 let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum" |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
22 colorscheme nightfly |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
23 " Force turn on unless it is over 1M LOC |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
24 autocmd BufReadPre * if getfsize(expand("%")) > 1000000 | syntax off | endif |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
25 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
26 " Line wrapping |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
27 set nowrap |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
28 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
29 " Search settings |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
30 set ignorecase |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
31 set smartcase |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
32 set hlsearch |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
33 set incsearch |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
34 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
35 " Cursor line |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
36 set cursorline |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
37 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
38 " Appearance |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
39 set termguicolors |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
40 set background=dark |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
41 set signcolumn=yes |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
42 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
43 " Backspace behavior |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
44 set backspace=indent,eol,start |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
45 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
46 " Clipboard |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
47 set clipboard+=unnamedplus |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
48 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
49 " Split window behavior |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
50 set splitright |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
51 set splitbelow |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
52 set splitbelow |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
53 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
54 " General Keymaps |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
55 " Map semicolon to colon in normal mode |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
56 nnoremap ; : |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
57 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
58 " Yank into clipboard |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
59 nnoremap <leader>y "+y |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
60 vnoremap <leader>y "+y |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
61 |
|
50
983769fba767
Updated so that fzf works out of the box.
June Park <me@mrjunejune.com>
parents:
43
diff
changeset
|
62 " FZF |
|
983769fba767
Updated so that fzf works out of the box.
June Park <me@mrjunejune.com>
parents:
43
diff
changeset
|
63 " Add fzf to runtimepath |
|
983769fba767
Updated so that fzf works out of the box.
June Park <me@mrjunejune.com>
parents:
43
diff
changeset
|
64 set rtp += ~/.fzf |
|
43
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
65 " <leader>ff: Fuzzy file search |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
66 nnoremap <leader>ff :Files<CR> |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
67 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
68 " <leader>fb: Fuzzy search within buffer |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
69 nnoremap <leader>fb :Buffers<CR> |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
70 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
71 " <leader>ft: ctag search |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
72 nnoremap <leader>ft :Tags<CR> |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
73 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
74 " <leader>fs: Ripgrep search for word (normal mode) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
75 nnoremap <leader>fs :RG<CR> |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
76 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
77 " <leader>fs: Ripgrep search for selected text (visual mode) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
78 vnoremap <leader>fs :<C-u>execute 'Rg ' . getreg('"')<CR> |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
79 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
80 " Open man in vim |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
81 noremap <c-k> :h <cword><cr> |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
82 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
83 " vim wiki |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
84 " Set the directory where your wiki pages will be stored |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
85 let g:wiki_root = expand('~/wiki/') |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
86 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
87 " Set wiki syntax and file extensions |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
88 let g:wiki_filetypes = ['md', 'wiki'] |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
89 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
90 " Enable global mappings (optional) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
91 let g:wiki_global_mappings = 1 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
92 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
93 " Enable links to markdown files |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
94 let g:wiki_link_extension = '.md' |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
95 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
96 " Turn on man vim mode |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
97 runtime! ftplugin/man.vim |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
98 " Keyword |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
99 set keywordprg=:Man |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
100 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
101 " Setup LSP + completion (I will turn on and off depending on sitautions) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
102 lua << EOF |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
103 vim.lsp.set_log_level('OFF') |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
104 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
105 local cmp = require('cmp') |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
106 local luasnip = require('luasnip') |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
107 local lspconfig = require('lspconfig') |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
108 local util = require('lspconfig.util') |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
109 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
110 -- ────────────────────────────── |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
111 -- nvim-cmp setup (unchanged) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
112 -- ────────────────────────────── |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
113 cmp.setup({ |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
114 snippet = { |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
115 expand = function(args) luasnip.lsp_expand(args.body) end, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
116 }, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
117 mapping = cmp.mapping.preset.insert({ |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
118 ['<C-Space>'] = cmp.mapping.complete(), |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
119 ['<CR>'] = cmp.mapping.confirm({ select = true }), |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
120 ['<C-J>'] = cmp.mapping.select_next_item(), |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
121 ['<C-K>'] = cmp.mapping.select_prev_item(), |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
122 }), |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
123 sources = cmp.config.sources({ |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
124 { name = 'nvim_lsp', group_index = 1 }, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
125 { name = 'luasnip', group_index = 1 }, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
126 { name = 'buffer', group_index = 2 }, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
127 }) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
128 }) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
129 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
130 local capabilities = require('cmp_nvim_lsp').default_capabilities() |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
131 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
132 -- ts_ls |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
133 lspconfig.ts_ls.setup({ |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
134 capabilities = capabilities, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
135 root_dir = require('lspconfig.util').root_pattern('tsconfig.json'), |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
136 init_options = { |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
137 maxTsServerMemory = 8192, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
138 preferences = { |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
139 includePackageJsonAutoImports = "auto", |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
140 }, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
141 }, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
142 filetypes = { "typescript", "typescriptreact", "javascript", "javascriptreact" }, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
143 settings = { |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
144 typescript = { |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
145 inlayHints = { |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
146 includeInlayParameterNameHints = "all", |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
147 includeInlayParameterNameHintsWhenArgumentMatchesName = false, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
148 includeInlayFunctionParameterTypeHints = true, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
149 includeInlayVariableTypeHints = true, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
150 includeInlayPropertyDeclarationTypeHints = true, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
151 includeInlayFunctionLikeReturnTypeHints = true, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
152 includeInlayEnumMemberValueHints = true, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
153 }, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
154 }, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
155 }, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
156 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
157 -- Force tsserver to reload the tsconfig every time (fixes 95% of path alias issues) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
158 on_attach = function(client, bufnr) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
159 -- Optional: show when LSP attaches |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
160 print("ts_ls attached to " .. vim.fn.getcwd()) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
161 end, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
162 }) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
163 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
164 -- Python |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
165 lspconfig.basedpyright.setup({ |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
166 capabilities = capabilities, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
167 on_attach = function(client, bufnr) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
168 -- Optional: notify when Python LSP attaches |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
169 print("basedpyright attached to " .. vim.fn.getcwd()) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
170 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
171 -- Common LSP keymaps (you can put them once at the bottom instead if you prefer) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
172 -- local bufopts = { noremap = true, silent = true, buffer = bufnr } |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
173 -- vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
174 -- vim.keymap.set('n', 'K', vim.lsp.buf.hover, bufopts) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
175 -- vim.keymap.set('n', 'gr', vim.lsp.buf.references, bufopts) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
176 -- vim.keymap.set('n', '<leader>rn', vim.lsp.buf.rename, bufopts) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
177 -- vim.keymap.set('n', '<leader>ca', vim.lsp.buf.code_action, bufopts) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
178 -- vim.keymap.set('n', '\\d', vim.diagnostic.open_float, bufopts) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
179 -- vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, bufopts) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
180 -- vim.keymap.set('n', ']d', vim.diagnostic.goto_next, bufopts) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
181 end, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
182 settings = { |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
183 basedpyright = { |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
184 analysis = { |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
185 autoSearchPaths = true, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
186 useLibraryCodeForTypes = true, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
187 diagnosticMode = "workspace", -- or "openFiles" if you have huge monorepos |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
188 typeCheckingMode = "standard", -- "strict" if you want maximum strictness |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
189 }, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
190 }, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
191 }, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
192 root_dir = util.root_pattern( |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
193 "venv", -- This is what I mostly use |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
194 "pyproject.toml", -- belows are whatever they use I guess |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
195 "setup.py", |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
196 "setup.cfg", |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
197 "requirements.txt", |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
198 ".git" |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
199 ), |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
200 }) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
201 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
202 EOF |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
203 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
204 " Optional key mappings for LSP |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
205 nnoremap <silent> gd <cmd>lua vim.lsp.buf.definition()<CR> |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
206 nnoremap <silent> K <cmd>lua vim.lsp.buf.hover()<CR> |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
207 nnoremap <silent> gr <cmd>lua vim.lsp.buf.references()<CR> |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
208 nnoremap <silent> \d <cmd>lua vim.diagnostic.open_float(nil, { border = "rounded" })<CR> |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
209 nnoremap <silent> [d <cmd>lua vim.diagnostic.goto_prev()<CR> |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
210 nnoremap <silent> ]d <cmd>lua vim.diagnostic.goto_next()<CR> |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
211 nnoremap <silent> \ca <cmd>lua vim.lsp.buf.code_action()<CR> |