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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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>