diff options
author | Gustaf Rydholm <gustaf.rydholm@gmail.com> | 2021-07-22 00:08:36 +0200 |
---|---|---|
committer | Gustaf Rydholm <gustaf.rydholm@gmail.com> | 2021-07-22 00:08:36 +0200 |
commit | b51f1ae28924a752258e7607fbc3210f9b18eaac (patch) | |
tree | 8c8c095528990b3f6eb499dbcca15e9720e636d1 /.config/nvim/lua/default-config.lua | |
parent | da936b0ed9ac4c171d3c7908e41af1875a82b08b (diff) |
Updates based on Chris's lunarvim
Diffstat (limited to '.config/nvim/lua/default-config.lua')
-rw-r--r-- | .config/nvim/lua/default-config.lua | 349 |
1 files changed, 154 insertions, 195 deletions
diff --git a/.config/nvim/lua/default-config.lua b/.config/nvim/lua/default-config.lua index 1121f28..941738a 100644 --- a/.config/nvim/lua/default-config.lua +++ b/.config/nvim/lua/default-config.lua @@ -2,199 +2,149 @@ CONFIG_PATH = vim.fn.stdpath "config" DATA_PATH = vim.fn.stdpath "data" CACHE_PATH = vim.fn.stdpath "cache" TERMINAL = vim.fn.expand "$TERMINAL" +USER = vim.fn.expand "$USER" O = { - format_on_save = true, - auto_close_tree = 0, - auto_complete = true, - colorscheme = "lunar", - clipboard = "unnamedplus", - hidden_files = true, - wrap_lines = false, - number = true, - relative_number = true, - number_width = 4, - cmdheight = 2, - cursorline = true, - shell = "zsh", - timeoutlen = 100, - nvim_tree_disable_netrw = 0, - ignore_case = true, - smart_case = true, - lushmode = false, - hl_search = false, - document_highlight = false, + keys = { + leader_key = "space", + }, + colorscheme = "dark", + line_wrap_cursor_movement = true, transparent_window = false, - leader_key = "space", - vnsip_dir = vim.fn.stdpath "config" .. "/snippets", + format_on_save = true, + lint_on_save = true, + vsnip_dir = os.getenv "HOME" .. "/.config/snippets", - -- @usage pass a table with your desired languages - treesitter = { - ensure_installed = "all", - ignore_install = { "haskell" }, - highlight = { enabled = true }, - -- The below are for treesitter-textobjects plugin - textobj_prefixes = { - goto_next = "]", -- Go to next - goto_previous = "[", -- Go to previous - inner = "i", -- Select inside - outer = "a", -- Selct around - swap = "<leader>a", -- Swap with next - }, - textobj_suffixes = { - -- Start and End respectively for the goto keys - -- for other keys it only uses the first - ["function"] = { "f", "F" }, - ["class"] = { "m", "M" }, - ["parameter"] = { "a", "A" }, - ["block"] = { "k", "K" }, - ["conditional"] = { "i", "I" }, - ["call"] = { "c", "C" }, - ["loop"] = { "l", "L" }, - ["statement"] = { "s", "S" }, - ["comment"] = { "/", "?" }, - }, - -- The below is for treesitter hint textobjects plugin - hint_labels = { "h", "j", "f", "d", "n", "v", "s", "l", "a" }, + 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, + on_attach_callback = nil, }, - database = { save_location = "~/.config/nvcode_db", auto_execute = 1 }, + 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 = { - -- Builtins - dashboard = { active = false }, - colorizer = { active = false }, - zen = { active = false }, - ts_context_commentstring = { active = false }, - ts_hintobjects = { active = false }, - ts_autotag = { active = false }, - ts_textobjects = { active = false }, - ts_playground = { active = false }, - ts_textsubjects = { active = false }, - telescope_fzy = { active = false }, - telescope_project = { active = false }, - indent_line = { active = false }, - symbol_outline = { active = false }, - debug = { active = false }, - lazygit = { active = false }, - lush = { active = false }, - diffview = { active = false }, - floatterm = { active = false }, - trouble = { active = false }, - sanegx = { active = false }, - vim_rooter = { active = false }, - hop = { active = false }, + lspinstall = {}, + telescope = {}, + compe = {}, + autopairs = {}, + treesitter = {}, + formatter = {}, + lint = {}, + nvimtree = {}, + gitsigns = {}, + which_key = {}, + comment = {}, + rooter = {}, + galaxyline = {}, + bufferline = {}, + dap = {}, + dashboard = {}, + terminal = {}, + zen = {}, + hop = {}, + colorizer = {}, }, + -- TODO: refactor for tree + auto_clos_tree = 0, + nvim_tree_disable_netrw = 0, + + database = { save_location = "~/.config/nvim_db", auto_execute = 1 }, + + -- TODO: just using mappings (leader mappings) user_which_key = {}, user_plugins = { - -- use config.lua for this not put here + -- 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 = { - cmake = {}, - clang = { - diagnostics = { - virtual_text = { spacing = 0, prefix = "" }, - signs = true, - underline = true, - }, - cross_file_rename = true, - header_insertion = "never", - }, - css = { - virtual_text = true, - }, - dart = { - sdk_path = "/usr/lib/dart/bin/snapshots/analysis_server.dart.snapshot", - }, - docker = {}, efm = {}, - elm = {}, - emmet = { active = true }, - elixir = {}, - graphql = {}, - go = {}, - html = {}, - java = {}, - json = { - diagnostics = { - virtual_text = { spacing = 0, prefix = "" }, - signs = true, - underline = true, - }, - }, - kotlin = {}, - latex = {}, - lua = { - diagnostics = { - virtual_text = { spacing = 0, prefix = "" }, - signs = true, - underline = true, - }, - }, - php = { - format = { - format = { - default = "psr12", - }, - }, - environment = { - php_version = "7.4", - }, - diagnostics = { - virtual_text = { spacing = 0, prefix = "" }, - signs = true, - underline = true, - }, - filetypes = { "php", "phtml" }, - }, - python = { - linter = "", - isort = false, - diagnostics = { - virtual_text = { spacing = 0, prefix = "" }, - signs = true, - underline = true, - }, - analysis = { - type_checking = "basic", - auto_search_paths = true, - use_library_code_types = true, - }, - }, - rust = { - rust_tools = { - active = false, - parameter_hints_prefix = "<-", - other_hints_prefix = "=>", -- prefix for all the other hints (type, chaining) - }, - linter = "", - diagnostics = { - virtual_text = { spacing = 0, prefix = "" }, - signs = true, - underline = true, - }, - }, - sh = { - -- @usage can be 'shellcheck' - linter = "", - -- @usage can be 'shfmt' - diagnostics = { - virtual_text = { spacing = 0, prefix = "" }, - signs = true, - underline = true, - }, - }, + emmet = { active = false }, svelte = {}, tailwindcss = { active = false, @@ -208,41 +158,50 @@ O = { "typescriptreact", }, }, - terraform = {}, tsserver = { - -- @usage can be 'eslint' + -- @usage can be 'eslint' or 'eslint_d' linter = "", diagnostics = { virtual_text = { spacing = 0, prefix = "" }, signs = true, underline = true, }, + formatter = { + exe = "prettier", + args = {}, + }, }, - vim = {}, - yaml = {}, }, +} - dashboard = { +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() - custom_header = { - ' ##############..... ############## ', - ' ##############......############## ', - ' ##########..........########## ', - ' ##########........########## ', - ' ##########.......########## ', - ' ##########.....##########.. ', - ' ##########....##########..... ', - ' ..##########..##########......... ', - ' ....##########.#########............. ', - ' ..################JJJ............ ', - ' ################............. ', - ' ##############.JJJ.JJJJJJJJJJ ', - ' ############...JJ...JJ..JJ JJ ', - ' ##########....JJ...JJ..JJ JJ ', - ' ########......JJJ..JJJ JJJ JJJ ', - ' ###### ......... ', - ' ..... ', - ' . ', - }, - }, -} +require("lang.clang").config() +require("lang.dart").config() +require("lang.dockerfile").config() +require("lang.elixir").config() +require("lang.go").config() +require("lang.graphql").config() +require("lang.html").config() +require("lang.json").config() +require("lang.kotlin").config() +require("lang.lua").config() +require("lang.python").config() +require("lang.rust").config() +require("lang.sh").config() +require("lang.swift").config() +require("lang.tex").config() +require("lang.vim").config() +require("lang.yaml").config() +require("lang.zig").config() +require("lang.zsh").config() |