123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196 |
- CONFIG_PATH = os.getenv "HOME" .. "/.local/share/lunarvim/lvim"
- DATA_PATH = vim.fn.stdpath "data"
- CACHE_PATH = vim.fn.stdpath "cache"
- TERMINAL = vim.fn.expand "$TERMINAL"
- USER = vim.fn.expand "$USER"
- O = {
- keys = {
- leader_key = "space",
- },
- colorscheme = "spacegray",
- line_wrap_cursor_movement = true,
- transparent_window = false,
- format_on_save = true,
- lint_on_save = true,
- vsnip_dir = os.getenv "HOME" .. "/.config/snippets",
- default_options = {
- backup = false, -- creates a backup file
- clipboard = "unnamedplus", -- allows neovim to access the system clipboard
- cmdheight = 2, -- more space in the neovim command line for displaying messages
- colorcolumn = "99999", -- fixes indentline for now
- completeopt = { "menuone", "noselect" },
- conceallevel = 0, -- so that `` is visible in markdown files
- fileencoding = "utf-8", -- the encoding written to a file
- foldmethod = "manual", -- folding, set to "expr" for treesitter based foloding
- foldexpr = "", -- set to "nvim_treesitter#foldexpr()" for treesitter based folding
- guifont = "monospace:h17", -- the font used in graphical neovim applications
- hidden = true, -- required to keep multiple buffers and open multiple buffers
- hlsearch = true, -- highlight all matches on previous search pattern
- ignorecase = true, -- ignore case in search patterns
- mouse = "a", -- allow the mouse to be used in neovim
- pumheight = 10, -- pop up menu height
- showmode = false, -- we don't need to see things like -- INSERT -- anymore
- showtabline = 2, -- always show tabs
- smartcase = true, -- smart case
- smartindent = true, -- make indenting smarter again
- splitbelow = true, -- force all horizontal splits to go below current window
- splitright = true, -- force all vertical splits to go to the right of current window
- swapfile = false, -- creates a swapfile
- termguicolors = true, -- set term gui colors (most terminals support this)
- timeoutlen = 100, -- time to wait for a mapped sequence to complete (in milliseconds)
- title = true, -- set the title of window to the value of the titlestring
- -- opt.titlestring = "%<%F%=%l/%L - nvim" -- what the title of the window will be set to
- undodir = CACHE_PATH .. "/undo", -- set an undo directory
- undofile = true, -- enable persisten undo
- updatetime = 300, -- faster completion
- writebackup = false, -- if a file is being edited by another program (or was written to file while editing with another program), it is not allowed to be edited
- expandtab = true, -- convert tabs to spaces
- shiftwidth = 2, -- the number of spaces inserted for each indentation
- tabstop = 2, -- insert 2 spaces for a tab
- cursorline = true, -- highlight the current line
- number = true, -- set numbered lines
- relativenumber = false, -- set relative numbered lines
- numberwidth = 4, -- set number column width to 2 {default 4}
- signcolumn = "yes", -- always show the sign column, otherwise it would shift the text each time
- wrap = false, -- display lines as one long line
- spell = false,
- spelllang = "en",
- scrolloff = 8, -- is one of my fav
- sidescrolloff = 8,
- },
- lsp = {
- diagnostics = {
- virtual_text = {
- prefix = "",
- spacing = 0,
- },
- signs = true,
- underline = true,
- },
- document_highlight = true,
- popup_border = "single",
- default_keybinds = true,
- },
- disabled_built_ins = {
- "netrw",
- "netrwPlugin",
- "netrwSettings",
- "netrwFileHandlers",
- "gzip",
- "zip",
- "zipPlugin",
- "tar",
- "tarPlugin", -- 'man',
- "getscript",
- "getscriptPlugin",
- "vimball",
- "vimballPlugin",
- "2html_plugin",
- "logipat",
- "rrhelper",
- "spellfile_plugin",
- -- 'matchit', 'matchparen', 'shada_plugin',
- },
- plugin = {},
- -- TODO: refactor for tree
- auto_close_tree = 0,
- nvim_tree_disable_netrw = 0,
- database = { save_location = "~/.config/lunarvim_db", auto_execute = 1 },
- -- TODO: just using mappings (leader mappings)
- user_which_key = {},
- user_plugins = {
- -- use lv-config.lua for this not put here
- },
- user_autocommands = {
- { "FileType", "qf", "set nobuflisted" },
- },
- formatters = {
- filetype = {},
- },
- -- TODO move all of this into lang specific files, only require when using
- lang = {
- efm = {},
- emmet = { active = false },
- svelte = {},
- tailwindcss = {
- active = false,
- filetypes = {
- "html",
- "css",
- "scss",
- "javascript",
- "javascriptreact",
- "typescript",
- "typescriptreact",
- },
- },
- tsserver = {
- -- @usage can be 'eslint' or 'eslint_d'
- linter = "",
- diagnostics = {
- virtual_text = { spacing = 0, prefix = "" },
- signs = true,
- underline = true,
- },
- formatter = {
- exe = "prettier",
- args = {},
- },
- },
- },
- }
- require "core.status_colors"
- require("core.gitsigns").config()
- require("core.compe").config()
- require("core.dashboard").config()
- require("core.dap").config()
- require("core.terminal").config()
- require("core.zen").config()
- require("core.telescope").config()
- require("core.treesitter").config()
- require("core.which-key").config()
- require("core.nvimtree").config()
- require("lang.clang").config()
- require("lang.cmake").config()
- require("lang.css").config()
- require("lang.dart").config()
- require("lang.dockerfile").config()
- require("lang.elixir").config()
- require("lang.elm").config()
- require("lang.go").config()
- require("lang.graphql").config()
- require("lang.html").config()
- require("lang.java").config()
- require("lang.json").config()
- require("lang.julia").config()
- require("lang.kotlin").config()
- require("lang.lua").config()
- require("lang.php").config()
- require("lang.python").config()
- require("lang.r").config()
- require("lang.ruby").config()
- require("lang.rust").config()
- require("lang.sh").config()
- require("lang.scala").config()
- require("lang.svelte").config()
- require("lang.swift").config()
- require("lang.terraform").config()
- require("lang.tex").config()
- require("lang.vim").config()
- require("lang.vue").config()
- require("lang.yaml").config()
- require("lang.zig").config()
|