8af20c232fdf61c612661285956f089fa92c73fc
- Author
- TheEdgeOfRage <git@theedgeofrage.com>
- Committer
- TheEdgeOfRage <git@theedgeofrage.com>
- Date
Message
Diff
This diff is truncated to protect this page.
1diff --git a/dot_config/fontconfig/fonts.conf b/dot_config/fontconfig/fonts.conf
2index 6e75d98751a46eb9882148642e4db5207b89c416..9e773dbf424d0a61d1c9d41012119cf6e86fdef5 100644
3--- a/dot_config/fontconfig/fonts.conf
4+++ b/dot_config/fontconfig/fonts.conf
5@@ -1,5 +1,5 @@
6-<?xml version='1.0'?>
7-<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
8+<?xml version="1.0"?>
9+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
10 <fontconfig>
11 <alias>
12 <family>MonoFont</family>
13diff --git a/dot_config/nvim/after/ftplugin/typescript.lua b/dot_config/nvim/after/ftplugin/typescript.lua
14deleted file mode 100644
15index bc22668a1c1ec5c5a9bd9bedafa344be90bf497e..0000000000000000000000000000000000000000
16--- a/dot_config/nvim/after/ftplugin/typescript.lua
17+++ /dev/null
18@@ -1,10 +0,0 @@
19-local opts = { noremap = true, silent = true }
20-
21--- jester mappings
22-local jester = require("jester")
23-vim.keymap.set("n", "<leader>tt", jester.run, opts)
24-vim.keymap.set("n", "<leader>tl", jester.run_last, opts)
25-vim.keymap.set("n", "<leader>tf", jester.run_file, opts)
26-vim.keymap.set("n", "<leader>tdt", jester.debug, opts)
27-vim.keymap.set("n", "<leader>tdl", jester.debug_last, opts)
28-vim.keymap.set("n", "<leader>tdf", jester.debug_file, opts)
29diff --git a/dot_config/nvim/init.lua b/dot_config/nvim/init.lua
30index b58274bad05a1af413bbcf3370c206db4460db7b..072a5ed038287f398ce2417191a150ff916bf89f 100644
31--- a/dot_config/nvim/init.lua
32+++ b/dot_config/nvim/init.lua
33@@ -2,7 +2,7 @@ vim.g.mapleader = " "
34
35 local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
36
37-if not vim.loop.fs_stat(lazypath) then
38+if not vim.uv.fs_stat(lazypath) then
39 vim.fn.system({
40 "git",
41 "clone",
42@@ -26,14 +26,7 @@ require("lazy").setup("plugins", {
43
44 vim.cmd([[colorscheme gruvbox]])
45
46-require("sets")
47 require("mappings")
48 require("autocmd")
49 require("git")
50-require("lsp")
51 require("line")
52-require("comment")
53-
54-require("telescope").load_extension("projects")
55-require("telescope").load_extension("fzf")
56-require("project_nvim").setup({})
57diff --git a/dot_config/nvim/lua/comment.lua b/dot_config/nvim/lua/comment.lua
58deleted file mode 100644
59index 1e5cd8ac6e37462b1c17f6329cd3d81145347bc1..0000000000000000000000000000000000000000
60--- a/dot_config/nvim/lua/comment.lua
61+++ /dev/null
62@@ -1,3 +0,0 @@
63-local ft = require("Comment.ft")
64-
65-ft.set("resolv", "#%s")
66diff --git a/dot_config/nvim/lua/lsp.lua b/dot_config/nvim/lua/lsp.lua
67deleted file mode 100644
68index 190ed13da36a7b52eab1d7dff5ea1b9c3cb82958..0000000000000000000000000000000000000000
69--- a/dot_config/nvim/lua/lsp.lua
70+++ /dev/null
71@@ -1,201 +0,0 @@
72--- Load default lsp-zero keymaps
73-local lsp_zero = require("lsp-zero")
74-local telescope = require("telescope.builtin")
75-
76--- Install LSP servers automatically through Mason
77-require("mason").setup()
78-require("mason-lspconfig").setup({ automatic_installation = true })
79-
80-lsp_zero.on_attach(function(_, bufnr)
81- -- see :help lsp-zero-keybindings to learn the available actions
82- lsp_zero.default_keymaps({ buffer = bufnr })
83-
84- local opts = { buffer = bufnr, remap = false }
85- vim.keymap.set("n", "<leader>vc", vim.lsp.buf.code_action, opts)
86- vim.keymap.set("n", "<leader>vr", vim.lsp.buf.rename, opts)
87- vim.keymap.set("n", "<leader>vh", vim.lsp.buf.hover, opts)
88- vim.keymap.set("n", "<leader>en", function()
89- vim.diagnostic.jump({ count = 1 })
90- end, opts)
91- vim.keymap.set("n", "<leader>ep", function()
92- vim.diagnostic.jump({ count = -1 })
93- end, opts)
94- -- vim.keymap.set("n", "<leader>ei", vim.diagnostic.open_float, opts)
95- vim.keymap.set("i", "<C-h>", vim.lsp.buf.signature_help, opts)
96-
97- vim.keymap.set("n", "gr", function()
98- telescope.lsp_references({
99- include_declaration = false,
100- show_line = false,
101- fname_width = 64,
102- })
103- end, opts)
104- vim.keymap.set("n", "gd", function()
105- telescope.lsp_definitions({
106- show_line = false,
107- fname_width = 64,
108- })
109- end, opts)
110- vim.keymap.set("n", "gi", function()
111- telescope.lsp_implementations({
112- show_line = false,
113- fname_width = 64,
114- })
115- end, opts)
116-end)
117-
118-require("conform").setup({
119- format_on_save = {
120- timeout_ms = 2000,
121- lsp_format = "fallback",
122- },
123- formatters_by_ft = {
124- lua = { "stylua", "efm" },
125- markdown = { "markdownlint" },
126- terraform = { "tflint" },
127- json = { "jsonlint", "prettierd" },
128- javascript = { "efm" },
129- typescript = { "efm" },
130- svelte = { "prettierd" },
131- go = { "golangci_lint_ls", "golangci-lint" },
132- html = { "htmlbeautifier", "htmlhint" },
133- tmpl = { "htmlbeautifier", "htmlhint" },
134- },
135-})
136-
137--- Setup LSP servers
138-local lspconfig = require("lspconfig")
139--- go
140-lspconfig.golangci_lint_ls.setup({
141- root_dir = require("lspconfig.util").root_pattern(
142- "go.mod",
143- "go.work",
144- ".golangci.yml",
145- ".golangci.yaml",
146- ".golangci.toml",
147- ".golangci.json",
148- ".git"
149- ),
150- init_options = {
151- command = { "golangci-lint", "run", "--output.json.path=stdout", "--show-stats=false" },
152- },
153-})
154-lspconfig.gopls.setup({
155- settings = {
156- gopls = {
157- gofumpt = true,
158- staticcheck = true,
159- hints = {
160- assignVariableTypes = false,
161- compositeLiteralFields = false,
162- compositeLiteralTypes = false,
163- constantValues = false,
164- functionTypeParameters = false,
165- parameterNames = false,
166- rangeVariableTypes = false,
167- },
168- },
169- },
170-})
171diff --git a/dot_config/nvim/lua/mappings.lua b/dot_config/nvim/lua/mappings.lua
172index 71e413789119df019219a0dceb939067969792f1..36f14df7025685f80bdbb90d85b9e3a5599d7c0a 100644
173--- a/dot_config/nvim/lua/mappings.lua
174+++ b/dot_config/nvim/lua/mappings.lua
175@@ -41,16 +41,13 @@ end, opts)
176 vim.keymap.set("n", "<leader>fs", vim.cmd.w, opts)
177 vim.keymap.set("n", "<leader>fS", vim.cmd.SudaWrite, opts)
178 vim.keymap.set("n", "<leader>W", vim.cmd.SudaWrite, opts)
179-vim.keymap.set("n", "<leader>q", vim.cmd.q, opts)
180+vim.keymap.set("n", "<leader>q", vim.cmd.qa, opts)
181 vim.keymap.set("n", "<leader>Q", ":q!<cr>", opts)
182 vim.keymap.set("n", "<leader>wq", vim.cmd.wq, opts)
183 vim.keymap.set("n", "<leader>bd", ":bp | bd #<cr>", opts)
184 vim.keymap.set("n", "<leader>u", vim.cmd.UndotreeToggle, opts)
185-
186--- Snippets
187-vim.keymap.set("n", "<leader>ee", "oif err != nil {<CR>return err<CR>}<ESC>k$", opts)
188-
189 vim.keymap.set("", "\\", ':let @/ = ""<CR>', opts)
190+require("Comment.ft").set("resolv", "#%s")
191
192 -- Git
193 vim.keymap.set("n", "<leader>gd", vim.cmd.Gvdiff, opts)
194@@ -78,10 +75,9 @@ require("telescope").setup({
195 },
196 },
197 })
198-
199 local telescope = require("telescope.builtin")
200
201-local files = function()
202+vim.keymap.set("n", "<leader>ff", function()
203 xpcall(function()
204 telescope.git_files({
205 show_untracked = true,
206@@ -92,14 +88,31 @@ local files = function()
207 hidden = true,
208 })
209 end)
210-end
211-
212-vim.keymap.set("n", "<leader>ff", files, opts)
213-vim.keymap.set("n", "<c-p>", files, opts)
214-vim.keymap.set("n", "<leader>rg", function()
215- telescope.grep_string({ shorten_path = true, word_match = "-w", only_sort_text = true, search = "" })
216 end, opts)
217+vim.keymap.set("n", "<leader>rg", telescope.live_grep, opts)
218 vim.keymap.set("n", "<leader>fb", telescope.buffers, opts)
219 vim.keymap.set("n", "<leader>fh", telescope.help_tags, opts)
220 vim.keymap.set("n", "<leader>fp", telescope.builtin, opts)
221+
222+vim.keymap.set("n", "<leader>gc", telescope.git_commits, opts)
223+vim.keymap.set("n", "<leader>gC", telescope.git_bcommits, opts)
224+vim.keymap.set("n", "<leader>gs", telescope.git_status, opts)
225+
226+-- LSP
227+vim.keymap.set("n", "gr", telescope.lsp_references, opts)
228+vim.keymap.set("n", "gd", telescope.lsp_definitions, opts)
229+vim.keymap.set("n", "gi", telescope.lsp_implementations, opts)
230+vim.keymap.set("n", "gt", telescope.lsp_type_definitions, opts)
231 vim.keymap.set("n", "<leader>ei", telescope.diagnostics, opts)
232+
233+vim.keymap.set("n", "<leader>vc", vim.lsp.buf.code_action, opts)
234+vim.keymap.set("n", "<leader>vr", vim.lsp.buf.rename, opts)
235+vim.keymap.set("n", "E", vim.lsp.buf.hover, opts)
236+vim.keymap.set("i", "<C-h>", vim.lsp.buf.signature_help, opts)
237+vim.keymap.set("n", "<C-h>", vim.lsp.buf.signature_help, opts)
238+vim.keymap.set("n", "<leader>en", function()
239+ vim.diagnostic.jump({ count = 1 })
240+end, opts)
241+vim.keymap.set("n", "<leader>ep", function()
242+ vim.diagnostic.jump({ count = -1 })
243+end, opts)
244diff --git a/dot_config/nvim/lua/plugins/comment.lua b/dot_config/nvim/lua/plugins/comment.lua
245deleted file mode 100644
246index 49039749abdb231f4983f24e3fe39d0ef4b7d475..0000000000000000000000000000000000000000
247--- a/dot_config/nvim/lua/plugins/comment.lua
248+++ /dev/null
249@@ -1,18 +0,0 @@
250-return {
251- "numToStr/Comment.nvim",
252- opts = {
253- toggler = {
254- ---Line-comment toggle keymap
255- line = "<leader>/",
256- ---Block-comment toggle keymap
257- block = "<leader>b/",
258- },
259- opleader = {
260- ---Line-comment keymap
261- line = "<leader>/",
262- ---Block-comment keymap
263- block = "<leader>b/",
264- },
265- },
266- lazy = false,
267-}
268diff --git a/dot_config/nvim/lua/plugins/git.lua b/dot_config/nvim/lua/plugins/git.lua
269deleted file mode 100644
270index d107168fa6bdbfb7fc09ecee8009fa22b1cae8f1..0000000000000000000000000000000000000000
271--- a/dot_config/nvim/lua/plugins/git.lua
272+++ /dev/null
273@@ -1,5 +0,0 @@
274-return {
275- "lewis6991/gitsigns.nvim",
276- "sindrets/diffview.nvim",
277- "tpope/vim-fugitive",
278-}
279diff --git a/dot_config/nvim/lua/plugins/init.lua b/dot_config/nvim/lua/plugins/init.lua
280index a32a040ecbbae6f77a8990835e1d46e426875af3..516cee2ef80e36a7598652bfcbbf70b36a8e028c 100644
281--- a/dot_config/nvim/lua/plugins/init.lua
282+++ b/dot_config/nvim/lua/plugins/init.lua
283@@ -23,9 +23,7 @@ return {
284 version = "*",
285 event = "VeryLazy",
286 config = function()
287- require("nvim-surround").setup({
288- -- Configuration here, or leave empty to use defaults
289- })
290+ require("nvim-surround").setup({})
291 end,
292 },
293 "folke/which-key.nvim",
294@@ -33,22 +31,17 @@ return {
295 -- functionality
296 "andymass/vim-matchup",
297 "tpope/vim-repeat",
298- "tpope/vim-speeddating",
299 "mbbill/undotree",
300 "jdhao/whitespace.nvim",
301 "lambdalisue/suda.vim",
302 "xiyaowong/nvim-cursorword",
303- "ahmedkhalf/project.nvim",
304+ {
305+ "Zeioth/project.nvim",
306+ config = function()
307+ require("project_nvim").setup({})
308+ end,
309+ },
310 "alker0/chezmoi.vim",
311- -- {
312- -- "github/copilot.vim",
313- -- config = function()
314- -- vim.g.copilot_filetypes = {
315- -- ["*"] = true,
316- -- ["markdown"] = true,
317- -- }
318- -- end,
319- -- },
320 "mfussenegger/nvim-dap",
321 "rcarriga/nvim-dap-ui",
322 {
323@@ -65,17 +58,26 @@ return {
324 end,
325 },
326 {
327- "folke/neodev.nvim",
328- dependencies = {
329- "rcarriga/nvim-dap-ui",
330- },
331+ "numToStr/Comment.nvim",
332 opts = {
333- library = {
334- plugins = {
335- "nvim-dap-ui",
336- },
337- types = true,
338+ toggler = {
339+ ---Line-comment toggle keymap
340+ line = "<leader>/",
341+ ---Block-comment toggle keymap
342+ block = "<leader>b/",
343+ },
344+ opleader = {
345+ ---Line-comment keymap
346+ line = "<leader>/",
347+ ---Block-comment keymap
348+ block = "<leader>b/",
349 },
350 },
351+ lazy = false,
352 },
353+
354+ -- Git
355+ "lewis6991/gitsigns.nvim",
356+ "sindrets/diffview.nvim",
357+ "tpope/vim-fugitive",
358 }
359diff --git a/dot_config/nvim/lua/plugins/lsp.lua b/dot_config/nvim/lua/plugins/lsp.lua
360index 7afefc5696a13293feeb0b18d1d3bdfb3578ea7a..6e81246ae14699e331abaaa406fd3188c4a71fa0 100644
361--- a/dot_config/nvim/lua/plugins/lsp.lua
362+++ b/dot_config/nvim/lua/plugins/lsp.lua
363@@ -1,13 +1,170 @@
364 return {
365- { "williamboman/mason.nvim" },
366- { "williamboman/mason-lspconfig.nvim" },
367- { "stevearc/conform.nvim" },
368- { "VonHeikemen/lsp-zero.nvim", branch = "v4.x" },
369- { "neovim/nvim-lspconfig" },
370- { "hrsh7th/cmp-nvim-lsp" },
371- { "hrsh7th/nvim-cmp" },
372- { "L3MON4D3/LuaSnip" },
373+ {
374+ "williamboman/mason.nvim",
375+ dependencies = { "williamboman/mason-lspconfig.nvim" },
376+ config = function()
377+ require("mason").setup()
378+ require("mason-lspconfig").setup({
379+ automatic_installation = true,
380+ ensure_installed = {},
381+ })
382+ end,
383+ },
384+ {
385+ "neovim/nvim-lspconfig",
386+ dependencies = { "saghen/blink.cmp" },
387+ config = function(_, _)
388+ local prettier = {
389+ formatCommand = 'prettierd "${INPUT}"',
390+ formatStdin = true,
391+ env = {
392+ string.format(
393+ "PRETTIERD_DEFAULT_CONFIG=%s",
394+ vim.fn.expand("~/.config/nvim/utils/linter-config/.prettierrc.json")
395+ ),
396+ },
397+ }
398+ local efm_languages = {
399+ typescript = { prettier },
400+ javascript = { prettier },
401+ json = { prettier },
402+ markdown = { prettier },
403+ }
404+ local servers = {
405+ golangci_lint_ls = {
406+ root_dir = require("lspconfig.util").root_pattern(
407+ "go.mod",
408+ "go.work",
409+ ".golangci.yml",
410+ ".golangci.yaml",
411+ ".golangci.toml",
412+ ".golangci.json",
413+ ".git"
414+ ),
415+ init_options = {
416+ command = { "golangci-lint", "run", "--output.json.path=stdout", "--show-stats=false" },
417+ },
418+ },
419+ gopls = {
420+ settings = {
421+ gopls = {
422+ gofumpt = true,
423+ staticcheck = true,
424+ hints = {
425+ assignVariableTypes = false,
426+ compositeLiteralFields = false,
427+ compositeLiteralTypes = false,
428+ constantValues = false,
429+ functionTypeParameters = false,
430+ parameterNames = false,
431+ rangeVariableTypes = false,
432+ },
433+ },
434+ },
435+ },
436+ rust_analyzer = {
437+ settings = {
438+ ["rust-analyzer"] = {
439+ diagnostics = {
440+ enable = false,
441+ },
442+ cargo = {
443+ allFeatures = true,
444+ },
445+ },
446+ },
447+ },
448+ basedpyright = {},
449+ pylsp = {
450+ settings = {
451+ pylsp = {
452+ plugins = {
453+ pycodestyle = {
454+ maxLineLength = 100,
455+ },
456+ },
457+ },
458+ },
459+ },
460+ efm = {
461+ cmd = { "/home/pavle/.local/share/nvim/mason/bin/efm-langserver" },
462+ init_options = { documentFormatting = true },
463diff --git a/dot_config/nvim/lua/plugins/telescope.lua b/dot_config/nvim/lua/plugins/telescope.lua
464index 4d1680eb78badf4d6c9f18100603daf36adb0ba8..1dfe9ab69fdff911844b56b77ea5ceff120d91f1 100644
465--- a/dot_config/nvim/lua/plugins/telescope.lua
466+++ b/dot_config/nvim/lua/plugins/telescope.lua
467@@ -1,13 +1,18 @@
468 return {
469 {
470 "nvim-telescope/telescope.nvim",
471- branch = "0.1.x",
472+ branch = "master",
473 dependencies = {
474 "nvim-lua/plenary.nvim",
475 {
476 "nvim-telescope/telescope-fzf-native.nvim",
477- build = "cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build",
478+ build = "cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release",
479 },
480 },
481+ config = function()
482+ local telescope = require("telescope")
483+ telescope.load_extension("projects")
484+ telescope.load_extension("fzf")
485+ end,
486 },
487 }
488diff --git a/dot_config/nvim/lua/plugins/tools.lua b/dot_config/nvim/lua/plugins/tools.lua
489deleted file mode 100644
490index 09a26c42ec3b5c70e5b39988e6ee973b8e25e9c0..0000000000000000000000000000000000000000
491--- a/dot_config/nvim/lua/plugins/tools.lua
492+++ /dev/null
493@@ -1,11 +0,0 @@
494-return {
495- {
496- "David-Kunz/jester",
497- config = function()
498- require("jester").setup({
499- cmd = "yarn test -t '$result' $file",
500- terminal_cmd = ":15split | terminal",
501- })
502- end,
503- },
504-}
505diff --git a/dot_config/nvim/lua/plugins/treesitter.lua b/dot_config/nvim/lua/plugins/treesitter.lua
506index 603257f4e3fdfddef88932df81ab85927838cc13..cda6daa6f2e819969eebfe22805cc605f8a2948a 100644
507--- a/dot_config/nvim/lua/plugins/treesitter.lua
508+++ b/dot_config/nvim/lua/plugins/treesitter.lua
509@@ -1,10 +1,4 @@
510 return {
511- {
512- "nvim-treesitter/playground",
513- dependencies = {
514- "nvim-treesitter/nvim-treesitter",
515- },
516- },
517 {
518 "nvim-treesitter/nvim-treesitter",
519 version = false,
520@@ -20,7 +14,10 @@ return {
521 indent = {
522 enable = true,
523 },
524+ modules = {},
525+ ignore_install = {},
526 auto_install = true,
527+ sync_install = false,
528 ensure_installed = {
529 "bash",
530 "go",
531@@ -41,24 +38,6 @@ return {
532 "vimdoc",
533 "yaml",
534 },
535- playground = {
536- enable = true,
537- disable = {},
538- updatetime = 25, -- Debounced time for highlighting nodes in the playground from source code
539- persist_queries = false,
540- keybindings = {
541- toggle_query_editor = "o",
542- toggle_hl_groups = "i",
543- toggle_injected_languages = "t",
544- toggle_anonymous_nodes = "a",
545- toggle_language_display = "I",
546- focus_language = "f",
547- unfocus_language = "F",
548- update = "R",
549- goto_node = "<cr>",
550- show_help = "?",
551- },
552- },
553 })
554 end,
555 },
556diff --git a/dot_config/nvim/lua/sets.lua b/dot_config/nvim/lua/sets.lua
557index a9c30eba7ef7e608f15bbb88a70ee7cc95b05cf7..0b189fec5e8203c73067bbef44466ccd4d821b05 100644
558--- a/dot_config/nvim/lua/sets.lua
559+++ b/dot_config/nvim/lua/sets.lua
560@@ -11,10 +11,42 @@ vim.opt.softtabstop = 4
561 vim.opt.textwidth = 120
562 vim.opt.colorcolumn = "+1"
563 vim.opt.listchars = "tab:│ ,trail:~,extends:>,precedes:<"
564+
565 vim.opt.foldenable = false
566-vim.opt.foldmethod = "expr"
567-vim.opt.foldexpr = "nvim_treesitter#foldexpr()"
568 vim.opt.foldlevel = 99
569+vim.opt.foldmethod = "expr"
570+vim.opt.foldexpr = "v:lua.vim.treesitter.foldexpr()"
571+-- vim.opt.foldtext = "v:lua.vim.treesitter.foldtext()"
572+local function get_custom_foldtxt_suffix(foldstart)
573+ local fold_suffix_str = string.format(" %s [%s lines]", "┉", vim.v.foldend - foldstart + 1)
574+
575+ return { fold_suffix_str, "Folded" }
576+end
577+
578+local function get_custom_foldtext(foldtxt_suffix, foldstart)
579+ local line = vim.api.nvim_buf_get_lines(0, foldstart - 1, foldstart, false)[1]
580+
581+ return {
582+ { line, "Normal" },
583+ foldtxt_suffix,
584+ }
585+end
586+
587+_G.get_foldtext = function()
588+ local foldstart = vim.v.foldstart
589+ local ts_foldtxt = vim.treesitter.foldtext()
590+ local foldtxt_suffix = get_custom_foldtxt_suffix(foldstart)
591+
592+ if type(ts_foldtxt) == "string" then
593+ return get_custom_foldtext(foldtxt_suffix, foldstart)
594+ else
595+ table.insert(ts_foldtxt, foldtxt_suffix)
596+ return ts_foldtxt
597+ end
598+end
599+
600+vim.opt.foldtext = "v:lua.get_foldtext()"
601+
602 vim.opt.termguicolors = true
603 vim.opt.autochdir = true
604 vim.opt.showcmd = true