8af20c232fdf61c612661285956f089fa92c73fc

Author
TheEdgeOfRage <git@theedgeofrage.com>
Committer
TheEdgeOfRage <git@theedgeofrage.com>
Date

Message

Update and clean up neovim config for 0.11

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