summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSquibid <me@zacharyscheiman.com>2023-04-30 18:41:13 -0400
committerSquibid <me@zacharyscheiman.com>2023-04-30 18:41:13 -0400
commit01a09f243ce07d367c539d69d4a7f4541ab1dcd7 (patch)
treeec2af23e59a38d4f9ac476e69abc07c8110b52a1
parent7c5d3eff786bef884022cc813448bb085ba4eccd (diff)
downloadnvim-01a09f243ce07d367c539d69d4a7f4541ab1dcd7.tar.gz
nvim-01a09f243ce07d367c539d69d4a7f4541ab1dcd7.tar.bz2
nvim-01a09f243ce07d367c539d69d4a7f4541ab1dcd7.zip
new config old version is now on v1 branch
Diffstat (limited to '')
-rw-r--r--README.md78
-rw-r--r--after/ftplugin/help.lua1
-rw-r--r--after/ftplugin/java.lua11
-rw-r--r--after/plugin/autopairs.lua6
-rw-r--r--after/plugin/cmp.lua (renamed from lua/core/overrides/cmp.lua)38
-rw-r--r--after/plugin/colorizer.lua (renamed from lua/core/overrides/colorizer.lua)7
-rw-r--r--after/plugin/comment.lua26
-rw-r--r--after/plugin/dapui.lua6
-rw-r--r--after/plugin/fidget.lua14
-rw-r--r--after/plugin/gitsigns.lua28
-rw-r--r--after/plugin/hlargs.lua6
-rw-r--r--after/plugin/iconpicker.lua6
-rw-r--r--after/plugin/indent-blankline.lua17
-rw-r--r--after/plugin/jabs.lua23
-rw-r--r--after/plugin/lsp.lua105
-rw-r--r--after/plugin/lspsignature.lua12
-rw-r--r--after/plugin/luasnip.lua (renamed from lua/core/overrides/snip.lua)7
-rw-r--r--after/plugin/marks.lua9
-rw-r--r--after/plugin/mason-dap.lua8
-rw-r--r--after/plugin/mason.lua29
-rw-r--r--after/plugin/masontool.lua18
-rw-r--r--after/plugin/neorg.lua34
-rw-r--r--after/plugin/notify.lua16
-rw-r--r--after/plugin/project.lua10
-rw-r--r--after/plugin/scrollbar.lua22
-rw-r--r--after/plugin/sfm.lua (renamed from lua/core/overrides/sfm.lua)26
-rw-r--r--after/plugin/smartsplits.lua28
-rw-r--r--after/plugin/startpage.lua71
-rw-r--r--after/plugin/statusline.lua136
-rw-r--r--after/plugin/tabline.lua9
-rw-r--r--after/plugin/telescope.lua (renamed from lua/core/overrides/telescope.lua)19
-rw-r--r--after/plugin/toggleterm.lua33
-rw-r--r--after/plugin/trouble.lua (renamed from lua/core/overrides/trouble.lua)7
-rw-r--r--after/plugin/ts.lua27
-rw-r--r--after/plugin/tsc.lua10
-rw-r--r--after/plugin/tsj.lua9
-rw-r--r--after/plugin/urlview.lua8
-rw-r--r--after/plugin/whichkey.lua20
-rw-r--r--init.lua18
-rw-r--r--lua/.luarc.json56
-rw-r--r--lua/bootstrap.lua7
-rw-r--r--lua/components.lua340
-rw-r--r--lua/core/auto.lua87
-rw-r--r--lua/core/binds.lua148
-rw-r--r--lua/core/cmds.lua6
-rw-r--r--lua/core/handler.lua7
-rw-r--r--lua/core/highlight.lua50
-rw-r--r--lua/core/init.lua6
-rw-r--r--lua/core/maps.lua165
-rw-r--r--lua/core/opts.lua225
-rw-r--r--lua/core/overrides/alpha.lua260
-rw-r--r--lua/core/overrides/cmpluasnipchoice.lua3
-rw-r--r--lua/core/overrides/hover.lua18
-rw-r--r--lua/core/overrides/indentblankline.lua22
-rw-r--r--lua/core/overrides/init.lua24
-rw-r--r--lua/core/overrides/lspkind.lua1
-rw-r--r--lua/core/overrides/lspzero.lua17
-rw-r--r--lua/core/overrides/lualine.lua145
-rw-r--r--lua/core/overrides/modicator.lua18
-rw-r--r--lua/core/overrides/neoclip.lua9
-rw-r--r--lua/core/overrides/neorg.lua18
-rw-r--r--lua/core/overrides/notify.lua14
-rw-r--r--lua/core/overrides/scrollbar.lua29
-rw-r--r--lua/core/overrides/smartsplits.lua7
-rw-r--r--lua/core/overrides/toggleterm.lua19
-rw-r--r--lua/core/overrides/treesitter.lua15
-rw-r--r--lua/core/overrides/treesj.lua3
-rw-r--r--lua/core/overrides/truezen.lua13
-rw-r--r--lua/core/overrides/whichkey.lua8
-rw-r--r--lua/core/plugins.lua176
-rw-r--r--lua/snippet/c.lua (renamed from lua/core/snippets/c.lua)0
-rw-r--r--lua/snippet/lua.lua (renamed from lua/core/snippets/lua.lua)0
-rw-r--r--lua/snippet/makefile.lua (renamed from lua/core/snippets/makefile.lua)0
-rw-r--r--lua/snippet/shorthands.lua (renamed from lua/core/snippets/init.lua)4
-rw-r--r--pics/alpha.pngbin32779 -> 0 bytes
-rw-r--r--pics/editing-c.pngbin124122 -> 0 bytes
-rw-r--r--spell/en.utf-8.add.splbin0 -> 32 bytes
77 files changed, 1611 insertions, 1267 deletions
diff --git a/README.md b/README.md
deleted file mode 100644
index e3e62a1..0000000
--- a/README.md
+++ /dev/null
@@ -1,78 +0,0 @@
-# muh neovim config
-
-#### some goals for my config:
-- reduce the use of nerdfonts
-- keep as simple as possible without losing functionality
-
-## screenshots
-<img src="pics/alpha.png" style="width:90vw;">
-<img src="pics/editing-c.png" style="width:90vw;">
-
-## plugins
-<details><summary>click me to view the plugins that are currently in muh config</summary>
-
- - [essentials](https://github.com/tamton-aquib/essentials.nvim)
- - [alpha-nvim](https://github.com/goolord/alpha-nvim)
- - [nvim-scrollbar](https://github.com/petertriho/nvim-scrollbar)
- - [nvim-tetris](https://github.com/alec-gibson/nvim-tetris)
- - [duckytype](https://github.com/kwakzalver/duckytype.nvim)
- - [modicator](https://github.com/melkster/modicator.nvim)
- - [murmur](https://github.com/nyngwang/murmur.lua)
- - [pantran](https://github.com/potamides/pantran.nvim)
- - [jellybeans-nvim](https://github.com/metalelf0/jellybeans-nvim)
- - [lush.nvim](https://github.com/rktjmp/lush.nvim)
- - [lualine.nvim](https://github.com/nvim-lualine/lualine.nvim)
- - [barbacue.nvim](https://github.com/utilyre/barbecue.nvim)
- - [nvim-navic](https://github.com/SmiteshP/nvim-navic)
- - [indent-blankline.nvim](https://github.com/lukas-reineke/indent-blankline.nvim)
- - [gitsigns.nvim](https://github.com/lewis6991/gitsigns.nvim)
- - [marks.nvim](https://github.com/chentoast/marks.nvim)
- - [which-key.nvim](https://github.com/folke/which-key.nvim)
- - [smart-splits](https://github.com/mrjones2014/smart-splits.nvim)
- - [bufresize](https://github.com/kwkarlwang/bufresize.nvim)
- - [nvim-notify](https://github.com/rcarriga/nvim-notify)
- - [cosmic-ui](https://github.com/CosmicNvim/cosmic-ui)
- - [nui.nvim](https://github.com/MunifTanjim/nui.nvim)
- - [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim)
- - [telescope-file-browser.nvim](https://github.com/nvim-telescope/telescope-file-browser.nvim)
- - [telescope-ui-select.nvim](https://github.com/nvim-telescope/telescope-ui-select.nvim)
- - [plenary.nvim](https://github.com/nvim-lua/plenary.nvim)
- - [telescope-undo.nvim](https://github.com/debugloop/telescope-undo.nvim)
- - [nvim-neoclip.lua](https://github.com/AckslD/nvim-neoclip.lua)
- - [intellitab.nvim](https://github.com/pta2002/intellitab.nvim)
- - [comment.nvim](https://github.com/numToStr/Comment.nvim)
- - [trouble.nvim](https://github.com/folke/trouble.nvim)
- - [todo-comments.nvim](https://github.com/folke/todo-comments.nvim)
- - [toggleterm.nvim](https://github.com/akinsho/toggleterm.nvim)
- - [diffview.nvim](https://github.com/sindrets/diffview.nvim)
- - [nvim-rooter.lua](https://github.com/notjedi/nvim-rooter.lua)
- - [venn.nvim](https://github.com/jbyuki/venn.nvim)
- - [neorg](https://github.com/nvim-neorg/neorg)
- - [true-zen.nvim](https://github.com/loqusion/true-zen.nvim)
- - [high-str.nvim](https://github.com/Pocco81/high-str.nvim)
- - [nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter)
- - [hlargs](https://github.com/m-demare/hlargs.nvim)
- - [treesj](https://github.com/Wansmer/treesj)
- - [hover.nvim](https://github.com/lewis6991/hover.nvim)
- - [nvim-colorizer.lua](https://github.com/nvchad/nvim-colorizer.lua)
- - [lsp-zero.nvim](https://github.com/VonHeikemen/lsp-zero.nvim)
- - [nvim-cmp](https://github.com/hrsh7th/nvim-cmp)
- - [cmp-buffer](https://github.com/hrsh7th/cmp-buffer)
- - [cmp-path](https://github.com/hrsh7th/cmp-path)
- - [cmp-calc](https://github.com/hrsh7th/cmp-calc)
- - [cmp_luasnip](https://github.com/saadparwaiz1/cmp_luasnip)
- - [cmp-nvim-lua](https://github.com/hrsh7th/cmp-nvim-lua)
- - [cmp-nvim-lsp](https://github.com/hrsh7th/cmp-nvim-lsp)
- - [cmp-under-comparator](https://github.com/lukas-reineke/cmp-under-comparator)
- - [lspkind.nvim](https://github.com/onsails/lspkind.nvim)
- - [LuaSnip](https://github.com/L3MON4D3/LuaSnip)
- - [friendly-snippets](https://github.com/rafamadriz/friendly-snippets)
- - [cmp-luasnip-choice](https://github.com/doxnit/cmp-luasnip-choice)
- - [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig)
- - [mason.nvim](https://github.com/williamboman/mason.nvim)
- - [mason-lspconfig.nvim](https://github.com/williamboman/mason-lspconfig.nvim)
- - [nvim-autopairs](https://github.com/windwp/nvim-autopairs)
-
-</details>
-
-<sub>PS: sry about the kitchen sink commits, I just learned about `git add --patch`</sub>
diff --git a/after/ftplugin/help.lua b/after/ftplugin/help.lua
new file mode 100644
index 0000000..fe6caae
--- /dev/null
+++ b/after/ftplugin/help.lua
@@ -0,0 +1 @@
+vim.treesitter.start()
diff --git a/after/ftplugin/java.lua b/after/ftplugin/java.lua
new file mode 100644
index 0000000..575ab1c
--- /dev/null
+++ b/after/ftplugin/java.lua
@@ -0,0 +1,11 @@
+local status_ok, jdtls = pcall(require, "jdtls")
+if not status_ok then
+ return
+end
+
+jdtls.start_or_attach {
+ cmd = {'/home/squibid/Downloads/jdt-lang-serv/bin/jdtls'},
+ root_dir = vim.fs.dirname(
+ vim.fs.find({ 'gradlew', '.git', 'mvnw' }, { upward = true })[1]
+ ),
+}
diff --git a/after/plugin/autopairs.lua b/after/plugin/autopairs.lua
new file mode 100644
index 0000000..ddf106f
--- /dev/null
+++ b/after/plugin/autopairs.lua
@@ -0,0 +1,6 @@
+local status_ok, autopairs = pcall(require, "nvim-autopairs")
+if not status_ok then
+ return
+end
+
+autopairs.setup{}
diff --git a/lua/core/overrides/cmp.lua b/after/plugin/cmp.lua
index 5fbb2a5..f69fc43 100644
--- a/lua/core/overrides/cmp.lua
+++ b/after/plugin/cmp.lua
@@ -1,3 +1,36 @@
+local status_ok, cmp = pcall(require, "cmp")
+if not status_ok then
+ return
+end
+
+local lspicons = {
+ Text = 'Tx',
+ Snippet = '<>',
+ Method = '{}',
+ Function = '{}',
+ Constructor = '{}',
+ Field = '""',
+ Variable = 'x=',
+ Class = '{}',
+ Interface = '.h',
+ Module = '{}',
+ Property = '@p',
+ Unit = ' ',
+ Value = ' ',
+ Enum = 'E#',
+ Keyword = '$1',
+ Color = ' ',
+ File = '#`',
+ Reference = ' ',
+ Folder = '[/',
+ EnumMember = ' ',
+ Constant = 'c=',
+ Struct = ' ',
+ Event = ' ',
+ Operator = '%*',
+ TypeParameter = ' ',
+}
+
local has_words_before = function()
unpack = unpack or table.unpack
local line, col = unpack(a.nvim_win_get_cursor(0))
@@ -5,7 +38,6 @@ local has_words_before = function()
[1]:sub(col, col):match("%s") == nil
end
-local cmp = require('cmp')
local luasnip = require('luasnip')
require("luasnip.loaders.from_vscode").lazy_load()
@@ -27,7 +59,7 @@ cmp.setup {
window = {
completion = {
winhighlight = "Normal:Pmenu,FloatBorder:Pmenu,Search:None",
- col_offset = -3,
+ col_offset = 0,
side_padding = 0,
}
},
@@ -58,7 +90,7 @@ cmp.setup {
elseif has_words_before() then
cmp.complete()
else
- fallback()
+ require("intellitab").indent()
end
end, { "i", "s" }),
["<S-Tab>"] = cmp.mapping(function(fallback)
diff --git a/lua/core/overrides/colorizer.lua b/after/plugin/colorizer.lua
index a18101e..830e1b9 100644
--- a/lua/core/overrides/colorizer.lua
+++ b/after/plugin/colorizer.lua
@@ -1,4 +1,9 @@
-require('colorizer').setup {
+local status_ok, colorizer = pcall(require, "colorizer")
+if not status_ok then
+ return
+end
+
+colorizer.setup {
filetypes = { '*' },
user_default_options = {
names = false,
diff --git a/after/plugin/comment.lua b/after/plugin/comment.lua
new file mode 100644
index 0000000..e95b823
--- /dev/null
+++ b/after/plugin/comment.lua
@@ -0,0 +1,26 @@
+local status_ok, comment = pcall(require, "Comment")
+if not status_ok then
+ return
+end
+
+comment.setup {
+ toggler = {
+ line = 'gcc',
+ block = 'gbc',
+ },
+ opleader = {
+ line = 'gc',
+ block = 'gb',
+ },
+ extra = {
+ above = 'gcO',
+ below = 'gco',
+ eol = 'gcA',
+ },
+ mappings = {
+ basic = true,
+ extra = true,
+ },
+ pre_hook = nil,
+ post_hook = nil,
+}
diff --git a/after/plugin/dapui.lua b/after/plugin/dapui.lua
new file mode 100644
index 0000000..56cfb1b
--- /dev/null
+++ b/after/plugin/dapui.lua
@@ -0,0 +1,6 @@
+local status_ok, dapui = pcall(require, "dapui")
+if not status_ok then
+ return
+end
+
+dapui.setup {}
diff --git a/after/plugin/fidget.lua b/after/plugin/fidget.lua
new file mode 100644
index 0000000..ee412a7
--- /dev/null
+++ b/after/plugin/fidget.lua
@@ -0,0 +1,14 @@
+local status_ok, fidget = pcall(require, "fidget")
+if not status_ok then
+ return
+end
+
+fidget.setup {
+ text = {
+ spinner = "line",
+ done = ":)",
+ },
+ window = {
+ zindex = 1,
+ }
+}
diff --git a/after/plugin/gitsigns.lua b/after/plugin/gitsigns.lua
new file mode 100644
index 0000000..b5436ae
--- /dev/null
+++ b/after/plugin/gitsigns.lua
@@ -0,0 +1,28 @@
+local status_ok, gitsigns = pcall(require, "gitsigns")
+if not status_ok then
+ return
+end
+
+gitsigns.setup {
+ signs = {
+ add = { text = '│' },
+ change = { text = '│' },
+ delete = { text = '-' },
+ topdelete = { text = '‾' },
+ changedelete = { text = '~' },
+ untracked = { text = '┆' },
+ },
+ signcolumn = true, -- Toggle with `:Gitsigns toggle_signs`
+ numhl = false, -- Toggle with `:Gitsigns toggle_numhl`
+ linehl = false, -- Toggle with `:Gitsigns toggle_linehl`
+ word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff`
+ watch_gitdir = {
+ interval = 1000,
+ follow_files = true
+ },
+ attach_to_untracked = true,
+ current_line_blame_formatter = '<author>, <author_time:%Y-%m-%d> - <summary>',
+ preview_config = {
+ border = 'shadow',
+ },
+}
diff --git a/after/plugin/hlargs.lua b/after/plugin/hlargs.lua
new file mode 100644
index 0000000..85aa905
--- /dev/null
+++ b/after/plugin/hlargs.lua
@@ -0,0 +1,6 @@
+local status_ok, hlargs = pcall(require, "hlargs")
+if not status_ok then
+ return
+end
+
+hlargs.setup {}
diff --git a/after/plugin/iconpicker.lua b/after/plugin/iconpicker.lua
new file mode 100644
index 0000000..e616a67
--- /dev/null
+++ b/after/plugin/iconpicker.lua
@@ -0,0 +1,6 @@
+local status_ok, iconpicker = pcall(require, "icon-picker")
+if not status_ok then
+ return
+end
+
+iconpicker.setup {}
diff --git a/after/plugin/indent-blankline.lua b/after/plugin/indent-blankline.lua
new file mode 100644
index 0000000..830ad99
--- /dev/null
+++ b/after/plugin/indent-blankline.lua
@@ -0,0 +1,17 @@
+local status_ok, indent_blankline = pcall(require, "indent_blankline")
+if not status_ok then
+ return
+end
+
+indent_blankline.setup {
+ char = "",
+ char_highlight_list = {
+ "IndentBlanklineIndent1",
+ "IndentBlanklineIndent2",
+ },
+ space_char_highlight_list = {
+ "IndentBlanklineIndent1",
+ "IndentBlanklineIndent2",
+ },
+ show_trailing_blankline_indent = false,
+}
diff --git a/after/plugin/jabs.lua b/after/plugin/jabs.lua
new file mode 100644
index 0000000..123de41
--- /dev/null
+++ b/after/plugin/jabs.lua
@@ -0,0 +1,23 @@
+local status_ok, jabs = pcall(require, "jabs")
+if not status_ok then
+ return
+end
+
+jabs.setup {
+ offset = { bottom = 2, right = 2 },
+
+ symbols = {
+ current = "@",
+ split = "|",
+ alternate = "*",
+ hidden = "\\",
+ locked = "=",
+ ro = "=",
+ edited = "+",
+ terminal = ">_",
+ default_file = "~",
+ terminal_symbol = ">_",
+ },
+
+ use_devicons = false,
+}
diff --git a/after/plugin/lsp.lua b/after/plugin/lsp.lua
new file mode 100644
index 0000000..50b6201
--- /dev/null
+++ b/after/plugin/lsp.lua
@@ -0,0 +1,105 @@
+local status_ok, lspconfig = pcall(require, "lspconfig")
+if not status_ok then
+ return
+end
+
+local function lsp_keymaps(bufnr)
+ local map = function(m, lhs, rhs)
+ local opts = {remap = false, silent = true, buffer = bufnr}
+ vim.keymap.set(m, lhs, rhs, opts)
+ end
+
+ -- LSP actions
+ map('n', 'K', '<cmd>lua vim.lsp.buf.hover()<cr>')
+ map('n', 'gd', '<cmd>lua vim.lsp.buf.definition()<cr>')
+ map('n', 'gD', '<cmd>lua vim.lsp.buf.declaration()<cr>')
+ map('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<cr>')
+ map('n', 'go', '<cmd>lua vim.lsp.buf.type_definition()<cr>')
+ map('n', 'gr', '<cmd>lua vim.lsp.buf.references()<cr>')
+ map('n', '<S-Tab>', '<cmd>lua vim.lsp.buf.signature_help()<cr>')
+ map('n', '<F2>', '<cmd>lua vim.lsp.buf.rename()<cr>')
+ map('n', '<F4>', '<cmd>lua vim.lsp.buf.code_action()<cr>')
+
+ -- Diagnostics
+ map('n', '<Tab>', '<cmd>lua vim.diagnostic.open_float()<cr>')
+ map('n', '[d', '<cmd>lua vim.diagnostic.goto_prev()<cr>')
+ map('n', ']d', '<cmd>lua vim.diagnostic.goto_next()<cr>')
+end
+
+local function lsp_settings()
+ local sign = function(opts)
+ vim.fn.sign_define(opts.name, {
+ texthl = opts.name,
+ text = opts.text,
+ numhl = ''
+ })
+ end
+
+ sign({name = 'DiagnosticSignError', text = 'x'})
+ sign({name = 'DiagnosticSignWarn', text = '!'})
+ sign({name = 'DiagnosticSignHint', text = 'h'})
+ sign({name = 'DiagnosticSignInfo', text = 'i'})
+
+ vim.diagnostic.config({
+ virtual_text = false,
+ signs = true,
+ update_in_insert = false,
+ underline = true,
+ severity_sort = true,
+ float = {
+ focusable = false,
+ show_header = true,
+ style = 'minimal',
+ border = 'shadow',
+ source = 'always',
+ header = '',
+ prefix = '* ',
+ },
+ })
+
+ vim.lsp.handlers['textDocument/hover'] = vim.lsp.with( vim.lsp.handlers.hover,
+ { border = 'shadow', }
+ )
+
+ vim.lsp.handlers['textDocument/signatureHelp'] = vim.lsp.with(
+ vim.lsp.handlers.signature_help,
+ {border = 'shadow'}
+ )
+
+ local command = vim.api.nvim_create_user_command
+
+ command('LspWorkspaceAdd', function()
+ vim.lsp.buf.add_workspace_folder()
+ end, {desc = 'Add folder to workspace'})
+
+ command('LspWorkspaceList', function()
+ vim.notify(vim.inspect(vim.lsp.buf.list_workspace_folders()))
+ end, {desc = 'List workspace folders'})
+
+ command('LspWorkspaceRemove', function()
+ vim.lsp.buf.remove_workspace_folder()
+ end, {desc = 'Remove folder from workspace'})
+end
+
+local function lsp_attach(client, bufnr)
+ local buf_command = vim.api.nvim_buf_create_user_command
+
+ lsp_keymaps(bufnr)
+
+ buf_command(bufnr, 'LspFormat', function()
+ vim.lsp.buf.format()
+ end, {desc = 'Format buffer with language server'})
+end
+
+lsp_settings()
+
+require('mason').setup({})
+require('mason-lspconfig').setup({})
+
+local get_servers = require('mason-lspconfig').get_installed_servers
+for _, server_name in ipairs(get_servers()) do
+ lspconfig[server_name].setup({
+ on_attach = lsp_attach,
+ capabilities = require('cmp_nvim_lsp').default_capabilities(),
+ })
+end
diff --git a/after/plugin/lspsignature.lua b/after/plugin/lspsignature.lua
new file mode 100644
index 0000000..7e2c1b2
--- /dev/null
+++ b/after/plugin/lspsignature.lua
@@ -0,0 +1,12 @@
+local status_ok, lspsignature = pcall(require, "lsp_signature")
+if not status_ok then
+ return
+end
+
+lspsignature.setup {
+ hint_enable = false,
+ floating_window = true,
+ handler_opts = {
+ border = "shadow"
+ }
+}
diff --git a/lua/core/overrides/snip.lua b/after/plugin/luasnip.lua
index c11236e..1374bc3 100644
--- a/lua/core/overrides/snip.lua
+++ b/after/plugin/luasnip.lua
@@ -1,6 +1,9 @@
-local ls = require('luasnip')
+local status_ok, luasnip = pcall(require, "luasnip")
+if not status_ok then
+ return
+end
-ls.config.set_config {
+luasnip.config.set_config {
-- return back into snippet
history = true,
diff --git a/after/plugin/marks.lua b/after/plugin/marks.lua
new file mode 100644
index 0000000..be51c58
--- /dev/null
+++ b/after/plugin/marks.lua
@@ -0,0 +1,9 @@
+local status_ok, marks = pcall(require, "marks")
+if not status_ok then
+ return
+end
+
+marks.setup {
+ default_mappings = true,
+ builtin_marks = nil,
+}
diff --git a/after/plugin/mason-dap.lua b/after/plugin/mason-dap.lua
new file mode 100644
index 0000000..0b7a57e
--- /dev/null
+++ b/after/plugin/mason-dap.lua
@@ -0,0 +1,8 @@
+local status_ok, masondap = pcall(require, "mason-nvim-dap")
+if not status_ok then
+ return
+end
+
+masondap.setup {
+ automatic_setup = true,
+}
diff --git a/after/plugin/mason.lua b/after/plugin/mason.lua
new file mode 100644
index 0000000..ccd812e
--- /dev/null
+++ b/after/plugin/mason.lua
@@ -0,0 +1,29 @@
+local status_ok, mason = pcall(require, "mason")
+if not status_ok then
+ return
+end
+
+mason.setup({
+ ui = {
+ border = "shadow",
+ width = 0.6,
+ height = 0.9,
+
+ icons = {
+ package_installed = "+",
+ package_pending = "?",
+ package_uninstalled = "x"
+ }
+ },
+ keymaps = {
+ toggle_package_expand = "<CR>",
+ install_package = "i", -- Keymap to install the package under the current cursor position
+ update_package = "u", -- Keymap to reinstall/update the package under the current cursor position
+ check_package_version = "c", -- Keymap to check for new version for the package under the current cursor position
+ update_all_packages = "U", -- Keymap to update all installed packages
+ check_outdated_packages = "C", -- Keymap to check which installed packages are outdated
+ uninstall_package = "r", -- Keymap to uninstall a package
+ cancel_installation = "<C-c>", -- Keymap to cancel a package installation
+ apply_language_filter = "<C-f>", -- Keymap to apply language filter
+ },
+})
diff --git a/after/plugin/masontool.lua b/after/plugin/masontool.lua
new file mode 100644
index 0000000..ee9d012
--- /dev/null
+++ b/after/plugin/masontool.lua
@@ -0,0 +1,18 @@
+local status_ok, masontool = pcall(require, "mason-tool-installer")
+if not status_ok then
+ return
+end
+
+masontool.setup {
+ -- a list of all tools you want to ensure are installed upon
+ -- start; they should be the names Mason uses for each tool
+ ensure_installed = {
+ 'lua-language-server',
+ 'stylua',
+ 'shellcheck',
+ 'editorconfig-checker',
+ 'shfmt',
+ 'clangd',
+ 'clang-format',
+ },
+}
diff --git a/after/plugin/neorg.lua b/after/plugin/neorg.lua
new file mode 100644
index 0000000..2331864
--- /dev/null
+++ b/after/plugin/neorg.lua
@@ -0,0 +1,34 @@
+local status_ok, neorg = pcall(require, "neorg")
+if not status_ok then
+ return
+end
+
+neorg.setup {
+ load = {
+ ["core.defaults"] = {},
+ ["core.dirman"] = {
+ config = {
+ workspaces = {
+ home = "~/Documents/notes/home",
+ }
+ }
+ },
+ ["core.concealer"] = {
+ config = {
+ dim_code_blocks = {
+ padding = { right = 2, },
+ content_only = false,
+ width = "content",
+ },
+ }
+ },
+ ["core.export"] = {},
+ ["core.completion"] = {
+ config = {
+ engine = "nvim-cmp",
+ }
+ },
+ }
+}
+
+-- vim.cmd('Neorg sync-parsers')
diff --git a/after/plugin/notify.lua b/after/plugin/notify.lua
new file mode 100644
index 0000000..1a3d1e9
--- /dev/null
+++ b/after/plugin/notify.lua
@@ -0,0 +1,16 @@
+local status_ok, notify = pcall(require, "notify")
+if not status_ok then
+ return
+end
+
+notify.setup {
+ icons = {
+ DEBUG = "B",
+ ERROR = "x",
+ INFO = "i",
+ TRACE = "t",
+ WARN = "!"
+ },
+ minimum_width = 35,
+ max_width = 80,
+}
diff --git a/after/plugin/project.lua b/after/plugin/project.lua
new file mode 100644
index 0000000..fd44e4c
--- /dev/null
+++ b/after/plugin/project.lua
@@ -0,0 +1,10 @@
+local status_ok, project = pcall(require, "project_nvim")
+if not status_ok then
+ return
+end
+
+project.setup {
+ detection_methods = { "pattern" },
+ patterns = { ".git", "_darcs", ".hg", ".bzr", ".svn", "Makefile", "package.json" },
+ show_hidden = false,
+}
diff --git a/after/plugin/scrollbar.lua b/after/plugin/scrollbar.lua
new file mode 100644
index 0000000..7421536
--- /dev/null
+++ b/after/plugin/scrollbar.lua
@@ -0,0 +1,22 @@
+local status_ok, scrollbar = pcall(require, "scrollbar")
+if not status_ok then
+ return
+end
+
+scrollbar.setup({
+ hide_if_all_visible = true,
+ handle = {
+ hide_if_all_visible = true,
+ },
+ marks = {
+ Cursor = {
+ text = "*",
+ }
+ },
+ handlers = {
+ cursor = true,
+ diagnostic = true,
+ gitsigns = true, -- Requires gitsigns
+ handle = true,
+ },
+})
diff --git a/lua/core/overrides/sfm.lua b/after/plugin/sfm.lua
index 06c77d1..dcbbe95 100644
--- a/lua/core/overrides/sfm.lua
+++ b/after/plugin/sfm.lua
@@ -1,12 +1,18 @@
-local sfm = require('sfm')
+local status_ok, sfm = pcall(require, "sfm")
+if not status_ok then
+ return
+end
sfm.setup {
view = {
- side = "left", -- side of the tree, can be `left`, `right`
- width = 30
+ side = 'right',
+ width = 35,
},
mappings = {
custom_only = false,
+ list = {
+ -- user mappings go here
+ }
},
renderer = {
icons = {
@@ -24,17 +30,17 @@ sfm.setup {
folder_closed = "",
folder_open = "",
file = "",
- },
+ }
}
- },
+ }
}:load_extension('sfm-git', {
icons = {
- staged = "^",
unstaged = "+",
- unmerged = "",
- renamed = ">",
+ staged = "S",
+ unmerged = "U",
+ renamed = "r",
untracked = "?",
- deleted = "x",
- ignored = "#"
+ deleted = "-",
+ ignored = "?",
}
})
diff --git a/after/plugin/smartsplits.lua b/after/plugin/smartsplits.lua
new file mode 100644
index 0000000..54fc07c
--- /dev/null
+++ b/after/plugin/smartsplits.lua
@@ -0,0 +1,28 @@
+local status_ok, smartsplits = pcall(require, "smart-splits")
+if not status_ok then
+ return
+end
+
+smartsplits.setup {
+ default_amount = 3,
+ resize_mode = {
+ quit_key = '<leader>r',
+ resize_keys = {
+ '<C-h>',
+ '<C-j>',
+ '<C-k>',
+ '<C-l>',
+ },
+ silent = true,
+ hooks = {
+ on_enter = function()
+ vim.notify("Resize mode on", vim.log.levels.INFO, { title = "Smart Splits" })
+ vim.cmd('unmap <leader>r')
+ end,
+ on_leave = function()
+ vim.notify("Resize Mode off", vim.log.levels.INFO, { title = "Smart Splits" })
+ vim.keymap.set('n', '<leader>r', smartsplits.start_resize_mode, {})
+ end,
+ },
+ },
+}
diff --git a/after/plugin/startpage.lua b/after/plugin/startpage.lua
new file mode 100644
index 0000000..2f12e56
--- /dev/null
+++ b/after/plugin/startpage.lua
@@ -0,0 +1,71 @@
+local status_ok, alpha = pcall(require, "alpha")
+if not status_ok then
+ return
+end
+
+-- buttons
+local function button(sc, txt, keybind)
+ local opts = {
+ position = "center",
+ shortcut = sc,
+ cursor = 5,
+ width = 80,
+ align_shortcut = "right",
+ hl_shortcut = "Keyword",
+ }
+ local function on_press()
+ local key = vim.api.nvim_replace_termcodes(keybind .. "<Ignore>", true, false, true)
+ vim.api.nvim_feedkeys(key, "t", false)
+ end
+
+ return {
+ type = "button",
+ val = txt,
+ on_press = on_press,
+ opts = opts,
+ }
+end
+
+-- actual config
+local R = {}
+
+R.width = vim.api.nvim_win_get_width(0)
+R.height = vim.api.nvim_win_get_height(0)
+
+if R.width >= 120 then
+ alpha.setup {
+ layout = {
+ { type = "padding", val = math.floor(R.height / 2.5) },
+ button([[ `'::. `'::::. ]], "Recent Files", "<cmd>Telescope oldfiles<CR>"),
+ button([[ _________H ,%%&%, _____A_ ]], "New File", "<cmd>ene<CR>"),
+ button([[ /\ _ \%&&%%&% / /\ ]], "Update Plugins", "<cmd>DepSync<CR>"),
+ button([[ / \___/^\___\%&%%&& __/__/\__/ \___ ]], "", ""),
+ button([[ | | [] [] |%\Y&%' /__|" '' "| /___/\ ]], "", ""),
+ button([[ | | .-. | || |''|"'||'"| |' '|| ]], "", ""),
+ button([[~~@._|@@_|||_@@|~||~~~ ~`""`""))""`"`""""`~~]], "", ""),
+ button([[ `""") )"""` // ]], "", ""),
+ }
+ }
+end
+if R.width <= 119 then
+ local header = {
+ [[ `'::. `'::::. ]],
+ [[ _________H ,%%&%, _____A_ ]],
+ [[ /\ _ \%&&%%&% / /\ ]],
+ [[ / \___/^\___\%&%%&& __/__/\__/ \___ ]],
+ [[ | | [] [] |%\Y&%' /__|" '' "| /___/\ ]],
+ [[ | | .-. | || |''|"'||'"| |' '|| ]],
+ [[~~@._|@@_|||_@@|~||~~~ ~`""`""))""`"`""""`~~]],
+ [[ `""") )"""` // ]],
+ }
+ alpha.setup {
+ layout = {
+ { type = "padding", val = math.floor(R.height / 2.5) },
+ { type = "text", val = header, opts = { position = "center", hl = "AlphaHeader" } },
+ { type = "padding", val = 1 },
+ button([[]], "Recent Files", "<cmd>Telescope oldfiles<CR>"),
+ button([[]], "New File", "<cmd>ene<CR>"),
+ button([[]], "Update Plugins", "<cmd>DepSync<CR>"),
+ }
+ }
+end
diff --git a/after/plugin/statusline.lua b/after/plugin/statusline.lua
new file mode 100644
index 0000000..d3a6ed2
--- /dev/null
+++ b/after/plugin/statusline.lua
@@ -0,0 +1,136 @@
+local status_ok, el = pcall(require, "el")
+if not status_ok then
+ return
+end
+
+el.reset_windows()
+
+local builtin = require "el.builtin"
+local sections = require "el.sections"
+local c = require "components"
+
+-- color setup
+local hl_statusline = "StatusLine"
+--diagnostic colors
+local hl_hint = "DiagnosticHint"
+local hl_info = "DiagnosticInfo"
+local hl_warn = "DiagnosticWarn"
+local hl_err = "DiagnosticError"
+-- git colors
+local hl_red = "ErrorMsg"
+local hl_green = "diffAdded"
+local hl_yellow = "WarningMsg"
+local highlights = {
+ -- diagnostic colors
+ diag_err = c.extract_hl({
+ bg = { [hl_statusline] = "bg" },
+ fg = { [hl_err] = "fg" },
+ bold = true,
+ }),
+ diag_warn = c.extract_hl({
+ bg = { [hl_statusline] = "bg" },
+ fg = { [hl_warn] = "fg" },
+ bold = true,
+ }),
+ diag_info = c.extract_hl({
+ bg = { [hl_statusline] = "bg" },
+ fg = { [hl_info] = "fg" },
+ bold = true,
+ }),
+ diag_hint = c.extract_hl({
+ bg = { [hl_statusline] = "bg" },
+ fg = { [hl_hint] = "fg" },
+ bold = true,
+ }),
+
+ -- git colors
+ red_fg = c.extract_hl({
+ bg = { [hl_statusline] = "bg" },
+ fg = { [hl_red] = "fg" },
+ bold = true,
+ }),
+ green_fg = c.extract_hl({
+ bg = { [hl_statusline] = "bg" },
+ fg = { [hl_green] = "fg" },
+ bold = true,
+ }),
+ yellow_fg = c.extract_hl({
+ bg = { [hl_statusline] = "bg" },
+ fg = { [hl_yellow] = "fg" },
+ bold = true,
+ }),
+}
+
+-- modes
+local modes = {
+ -- display name, mode, highlight group
+ n = { "Normal", "N" },
+ niI = { "Normal", "N" },
+ niR = { "Normal", "N" },
+ niV = { "Normal", "N" },
+ no = { "N·OpPd", "?" },
+ v = { "Visual", "V" },
+ V = { "V·Line", "Vl" },
+ [""] = { "V·Block", "Vb" },
+ s = { "Select", "S" },
+ S = { "S·Line", "Sl" },
+ [""] = { "S·Block", "Sb" },
+ i = { "Insert", "I" },
+ ic = { "ICompl", "Ic" },
+ R = { "Replace", "R" },
+ Rv = { "VReplace", "Rv" },
+ c = { "Command", "C" },
+ cv = { "Vim Ex", "E" },
+ ce = { "Ex (r)", "E" },
+ r = { "Prompt", "P" },
+ rm = { "More ", "M" },
+ ["r?"] = { "Confirm", "Cn" },
+ ["!"] = { "Shell ", "S" },
+ nt = { "Term ", "T" },
+ t = { "Term ", "T" },
+}
+
+el.setup {
+ generator = function()
+
+ local items = {
+ { c.mode { modes = modes, fmt = " %s %s ", icon = "", hl_icon_only = false } },
+ { sections.split, required = true },
+ { sections.collapse_builtin { { builtin.filetype }, { " " } } },
+ { sections.maximum_width(builtin.tail_file, 0.50), required = true },
+ { sections.collapse_builtin { { " " }, { builtin.modified_flag } } },
+ { sections.split, required = true },
+ { c.diagnostics {
+ fmt = "[%s]", lsp = true,
+ hl_err = highlights.diag_err,
+ hl_warn = highlights.diag_warn,
+ hl_info = highlights.diag_info,
+ hl_hint = highlights.diag_hint,
+ icon_err = 'x', icon_warn = '!', icon_info = 'i', icon_hint = 'h'
+ }
+ },
+ { c.git_branch { fmt = "%s *%s", icon = "" } },
+ { c.git_changes_buf {
+ fmt = "[%s]",
+ icon_insert = "+",
+ icon_change = "~",
+ icon_delete = "-",
+ hl_insert = highlights.green_fg,
+ hl_change = highlights.yellow_fg,
+ hl_delete = highlights.red_fg,
+ }
+ },
+ }
+
+ local add_item = function(result, item)
+ table.insert(result, item)
+ end
+
+ local result = {}
+ for _, item in ipairs(items) do
+ add_item(result, item)
+ end
+
+ return result
+end,
+}
diff --git a/after/plugin/tabline.lua b/after/plugin/tabline.lua
new file mode 100644
index 0000000..7ec5cf1
--- /dev/null
+++ b/after/plugin/tabline.lua
@@ -0,0 +1,9 @@
+local status_ok, luatab = pcall(require, "luatab")
+if not status_ok then
+ return
+end
+
+luatab.setup {
+ windowCount = function() return '' end,
+ devicon = function() return '' end,
+}
diff --git a/lua/core/overrides/telescope.lua b/after/plugin/telescope.lua
index c17e56c..0674b21 100644
--- a/lua/core/overrides/telescope.lua
+++ b/after/plugin/telescope.lua
@@ -1,13 +1,20 @@
-local telescope = require('telescope')
+local status_ok, telescope = pcall(require, "telescope")
+if not status_ok then
+ return
+end
local actions = require('telescope.actions')
telescope.setup {
defaults = {
- borderchars = { " ", " ", " ", " ", " ", " ", " ", " " },
+ borderchars = {
+ prompt = {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' };
+ results = {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' };
+ preview = {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' };
+ },
sorting_strategy = 'ascending',
+ layout_strategy = 'bottom_pane',
layout_config = {
- height = 0.9,
- prompt_position = 'top',
+ height = 0.3,
},
mappings = {
i = {
@@ -25,16 +32,16 @@ telescope.setup {
},
extensions = {
["ui-select"] = {
- require("telescope.themes").get_dropdown {
+ require("telescope.themes").get_ivy {
-- even more opts
}
}
},
}
}
-telescope.load_extension('undo')
telescope.load_extension('file_browser')
telescope.load_extension('ui-select')
+telescope.load_extension('projects')
a.nvim_create_autocmd('User', {
pattern = 'TelescopePreviewerLoaded',
diff --git a/after/plugin/toggleterm.lua b/after/plugin/toggleterm.lua
new file mode 100644
index 0000000..b0cd2c8
--- /dev/null
+++ b/after/plugin/toggleterm.lua
@@ -0,0 +1,33 @@
+local status_ok, toggleterm = pcall(require, "toggleterm")
+if not status_ok then
+ return
+end
+
+toggleterm.setup {
+ shade_terminals = true,
+ float_opts = {
+ border = 'shadow',
+ },
+ on_open = function()
+ vim.opt.cmdheight = 0
+ end,
+ on_close = function()
+ vim.opt.cmdheight = 1
+ end
+}
+
+local term = require('toggleterm.terminal').Terminal
+local glow = term:new({
+ cmd = "glow",
+ hidden = true,
+ direction = "float",
+ float_opts = {
+ border = "shadow",
+ width = 120,
+ height = 50,
+ }
+})
+
+function _glow()
+ glow:toggle()
+end
diff --git a/lua/core/overrides/trouble.lua b/after/plugin/trouble.lua
index eabbd7e..bdf9f37 100644
--- a/lua/core/overrides/trouble.lua
+++ b/after/plugin/trouble.lua
@@ -1,4 +1,9 @@
-require("trouble").setup {
+local status_ok, trouble = pcall(require, "trouble")
+if not status_ok then
+ return
+end
+
+trouble.setup {
icons = false,
fold_open = "v",
fold_closed = ">",
diff --git a/after/plugin/ts.lua b/after/plugin/ts.lua
new file mode 100644
index 0000000..7e5a490
--- /dev/null
+++ b/after/plugin/ts.lua
@@ -0,0 +1,27 @@
+local status_ok, treesitter = pcall(require, "nvim-treesitter.configs")
+if not status_ok then
+ return
+end
+
+treesitter.setup {
+ ensure_installed = {
+ "c",
+ "lua",
+ "bash",
+ "vim",
+ "vimdoc",
+ "query",
+ "git_rebase",
+ "gitattributes",
+ "gitcommit",
+ "gitignore",
+ "git_config",
+ },
+
+ auto_install = true,
+
+ highlight = {
+ enable = true,
+ additional_vim_regex_highlighting = false,
+ },
+}
diff --git a/after/plugin/tsc.lua b/after/plugin/tsc.lua
new file mode 100644
index 0000000..70131e7
--- /dev/null
+++ b/after/plugin/tsc.lua
@@ -0,0 +1,10 @@
+local status_ok, tc = pcall(require, "treesitter-context")
+if not status_ok then
+ return
+end
+
+tc.setup{
+ enable = true,
+ line_numbers = true,
+ separator = '-',
+}
diff --git a/after/plugin/tsj.lua b/after/plugin/tsj.lua
new file mode 100644
index 0000000..8465a40
--- /dev/null
+++ b/after/plugin/tsj.lua
@@ -0,0 +1,9 @@
+local status_ok, treesj = pcall(require, "treesj")
+if not status_ok then
+ return
+end
+
+treesj.setup {
+ use_default_keymaps = false,
+ max_join_length = 120,
+}
diff --git a/after/plugin/urlview.lua b/after/plugin/urlview.lua
new file mode 100644
index 0000000..1cae07c
--- /dev/null
+++ b/after/plugin/urlview.lua
@@ -0,0 +1,8 @@
+local status_ok, urlview = pcall(require, "urlview")
+if not status_ok then
+ return
+end
+
+urlview.setup {
+ default_picker = 'telescope',
+}
diff --git a/after/plugin/whichkey.lua b/after/plugin/whichkey.lua
new file mode 100644
index 0000000..66c8a9e
--- /dev/null
+++ b/after/plugin/whichkey.lua
@@ -0,0 +1,20 @@
+local status_ok, whichkey = pcall(require, "which-key")
+if not status_ok then
+ return
+end
+
+whichkey.setup {
+ icons = {
+ breadcrumb = '>>',
+ separator = '->',
+ },
+ winblend = 0,
+ window = {
+ border = 'shadow',
+ margin = { 1, 5, 2, 5 },
+ },
+ layout = {
+ width = { min = 20, max = 50 },
+ align = 'left',
+ }
+}
diff --git a/init.lua b/init.lua
index bc64bd9..c24c4a0 100644
--- a/init.lua
+++ b/init.lua
@@ -1,9 +1,15 @@
--- global shorthands
+-- shorhands ------------------------------------------------------------------
o = vim.opt
-g = vim.g
a = vim.api
-cmd = vim.cmd
-g.mapleader = " "
+g = vim.g
+c = vim.cmd
+
+-- main lua files -------------------------------------------------------------
+require('bootstrap')
+require('core.handler')
--- load config
-require('core.init')
+-- call all snippets in the lua/snippets directory ----------------------------
+require('snippet.shorthands')
+for _, file in ipairs(vim.fn.readdir(vim.fn.stdpath('config')..'/lua/snippet', [[v:val =~ '\.lua$']])) do
+ require('snippet.'..file:gsub('%.lua$', ''))
+end
diff --git a/lua/.luarc.json b/lua/.luarc.json
new file mode 100644
index 0000000..5579dc5
--- /dev/null
+++ b/lua/.luarc.json
@@ -0,0 +1,56 @@
+{
+ "diagnostics.globals": [
+ "vim",
+ "a",
+ "o",
+ "g"
+ ],
+ "workspace.library": [
+ "/home/squibid/.local/share/nvim/site/pack/deps/opt/neodev.nvim/types/stable",
+ "/usr/share/nvim/runtime/lua",
+ "/home/squibid/.local/share/nvim/site/pack/deps/opt/Comment.nvim/lua",
+ "/home/squibid/.local/share/nvim/site/pack/deps/opt/LuaSnip/lua",
+ "/home/squibid/.local/share/nvim/site/pack/deps/opt/cmp-buffer/lua",
+ "/home/squibid/.local/share/nvim/site/pack/deps/opt/cmp-calc/lua",
+ "/home/squibid/.local/share/nvim/site/pack/deps/opt/cmp-luasnip-choice/lua",
+ "/home/squibid/.local/share/nvim/site/pack/deps/opt/cmp-nvim-lsp/lua",
+ "/home/squibid/.local/share/nvim/site/pack/deps/opt/cmp-nvim-lua/lua",
+ "/home/squibid/.local/share/nvim/site/pack/deps/opt/cmp-path/lua",
+ "/home/squibid/.local/share/nvim/site/pack/deps/opt/cmp-under-comparator/lua",
+ "/home/squibid/.local/share/nvim/site/pack/deps/opt/cmp_luasnip/lua",
+ "/home/squibid/.local/share/nvim/site/pack/deps/opt/dep/lua",
+ "/home/squibid/.local/share/nvim/site/pack/deps/opt/express_line.nvim/lua",
+ "/home/squibid/.local/share/nvim/site/pack/deps/opt/gitsigns.nvim/lua",
+ "/home/squibid/.local/share/nvim/site/pack/deps/opt/hlargs.nvim/lua",
+ "/home/squibid/.local/share/nvim/site/pack/deps/opt/impatient.nvim/lua",
+ "/home/squibid/.local/share/nvim/site/pack/deps/opt/indent-blankline.nvim/lua",
+ "/home/squibid/.local/share/nvim/site/pack/deps/opt/intellitab.nvim/lua",
+ "/home/squibid/.local/share/nvim/site/pack/deps/opt/lsp_signature.nvim/lua",
+ "/home/squibid/.local/share/nvim/site/pack/deps/opt/lspkind.nvim/lua",
+ "/home/squibid/.local/share/nvim/site/pack/deps/opt/marks.nvim/lua",
+ "/home/squibid/.local/share/nvim/site/pack/deps/opt/mason-lspconfig.nvim/lua",
+ "/home/squibid/.local/share/nvim/site/pack/deps/opt/mason-tool-installer.nvim/lua",
+ "/home/squibid/.local/share/nvim/site/pack/deps/opt/mason.nvim/lua",
+ "/home/squibid/.local/share/nvim/site/pack/deps/opt/mellow.nvim/lua",
+ "/home/squibid/.local/share/nvim/site/pack/deps/opt/modicator.nvim/lua",
+ "/home/squibid/.local/share/nvim/site/pack/deps/opt/neodev.nvim/lua",
+ "/home/squibid/.local/share/nvim/site/pack/deps/opt/nvim-autopairs/lua",
+ "/home/squibid/.local/share/nvim/site/pack/deps/opt/nvim-cmp/lua",
+ "/home/squibid/.local/share/nvim/site/pack/deps/opt/nvim-colorizer.lua/lua",
+ "/home/squibid/.local/share/nvim/site/pack/deps/opt/nvim-lsp-notify/lua",
+ "/home/squibid/.local/share/nvim/site/pack/deps/opt/nvim-lspconfig/lua",
+ "/home/squibid/.local/share/nvim/site/pack/deps/opt/nvim-neoclip.lua/lua",
+ "/home/squibid/.local/share/nvim/site/pack/deps/opt/nvim-notify/lua",
+ "/home/squibid/.local/share/nvim/site/pack/deps/opt/nvim-scrollbar/lua",
+ "/home/squibid/.local/share/nvim/site/pack/deps/opt/nvim-treesitter/lua",
+ "/home/squibid/.local/share/nvim/site/pack/deps/opt/plenary.nvim/lua",
+ "/home/squibid/.local/share/nvim/site/pack/deps/opt/telescope-file-browser.nvim/lua",
+ "/home/squibid/.local/share/nvim/site/pack/deps/opt/telescope-ui-select.nvim/lua",
+ "/home/squibid/.local/share/nvim/site/pack/deps/opt/telescope.nvim/lua",
+ "/home/squibid/.local/share/nvim/site/pack/deps/opt/treesj/lua",
+ "/home/squibid/.local/share/nvim/site/pack/deps/opt/which-key.nvim/lua",
+ "/home/squibid/.config/nvim/lua",
+ "${3rd}/luv/library"
+ ],
+ "workspace.checkThirdParty": false
+} \ No newline at end of file
diff --git a/lua/bootstrap.lua b/lua/bootstrap.lua
new file mode 100644
index 0000000..3312b33
--- /dev/null
+++ b/lua/bootstrap.lua
@@ -0,0 +1,7 @@
+local path = vim.fn.stdpath("data") .. "/site/pack/deps/opt/dep"
+
+if vim.fn.empty(vim.fn.glob(path)) > 0 then
+ vim.fn.system({ "git", "clone", "--depth=1", "https://git.squi.bid/dep", path })
+end
+
+vim.cmd("packadd dep")
diff --git a/lua/components.lua b/lua/components.lua
new file mode 100644
index 0000000..6298d35
--- /dev/null
+++ b/lua/components.lua
@@ -0,0 +1,340 @@
+if not pcall(require, "el") then
+ return
+end
+
+local Job = require "plenary.job"
+local el_sub = require "el.subscribe"
+
+local M = {}
+
+function M.extract_hl(spec)
+ if not spec or vim.tbl_isempty(spec) then return end
+ local hl_name, hl_opts = { "El" }, {}
+ for attr, val in pairs(spec) do
+ if type(val) == "table" then
+ table.insert(hl_name, attr)
+ assert(vim.tbl_count(val) == 1)
+ local hl, what = next(val)
+ local hlID = vim.fn.hlID(hl)
+ if hlID > 0 then
+ table.insert(hl_name, hl)
+ local col = vim.fn.synIDattr(hlID, what)
+ if col and #col > 0 then
+ table.insert(hl_name, what)
+ hl_opts[attr] = col
+ end
+ end
+ else
+ -- bold, underline, etc
+ hl_opts[attr] = val
+ end
+ end
+ hl_name = table.concat(hl_name, "_")
+ -- if highlight exists, verify it has
+ -- the correct colorscheme highlights
+ local newID = vim.fn.hlID(hl_name)
+ if newID > 0 then
+ for what, expected in pairs(hl_opts) do
+ local res = vim.fn.synIDattr(newID, what)
+ if type(expected) == "boolean" then
+ -- synIDattr returns '1' for boolean
+ res = res and res == "1" and true
+ end
+ if res ~= expected then
+ -- need to regen the highlight
+ -- print("color mismatch", hl_name, what, "e:", expected, "c:", res)
+ newID = 0
+ end
+ end
+ end
+ if newID == 0 then
+ vim.api.nvim_set_hl(0, hl_name, hl_opts)
+ end
+ return hl_name
+end
+
+local function set_hl(hls, s)
+ if not hls or not s then return s end
+ hls = type(hls) == "string" and { hls } or hls
+ for _, hl in ipairs(hls) do
+ if vim.fn.hlID(hl) > 0 then
+ return ("%%#%s#%s%%0*"):format(hl, s)
+ end
+ end
+ return s
+end
+
+local function wrap_fnc(opts, fn)
+ return function(window, buffer)
+ -- buf_autocmd doesn't send win
+ if not window and buffer then
+ window = { win_id = vim.fn.bufwinid(buffer.bufnr) }
+ end
+ if opts.hide_inactive and window and
+ window.win_id ~= vim.api.nvim_get_current_win() then
+ return ""
+ end
+ return fn(window, buffer)
+ end
+end
+
+M.mode = function(opts)
+ opts = opts or {}
+ return wrap_fnc(opts, function(_, _)
+ local fmt = opts.fmt or "%s%s"
+ local mode = vim.api.nvim_get_mode().mode
+ local mode_data = opts.modes and opts.modes[mode]
+ local hls = mode_data and mode_data[3]
+ local icon = opts.hl_icon_only and set_hl(hls, opts.icon) or opts.icon
+ mode = mode_data and mode_data[1]:upper() or mode
+ mode = (fmt):format(icon or "", mode)
+ return not opts.hl_icon_only and set_hl(hls, mode) or mode
+ end)
+end
+
+M.try_devicons = function()
+ if not M._has_devicons then
+ M._has_devicons, M._devicons = pcall(require, "nvim-web-devicons")
+ end
+ return M._devicons
+end
+
+M.file_icon = function(opts)
+ opts = opts or {}
+ return el_sub.buf_autocmd("el_file_icon", "BufRead",
+ wrap_fnc(opts, function(_, buffer)
+ if not M.try_devicons() then return "" end
+ local fmt = opts.fmt or "%s"
+ local ext = vim.fn.fnamemodify(buffer.name, ":p:e")
+ local icon, hl = M._devicons.get_icon(buffer.name, ext:lower(), { default = true })
+ -- local icon = extensions.file_icon(_, bufnr)
+ if icon then
+ if opts.hl_icon then
+ local hlgroup = M.extract_hl({
+ bg = { StatusLine = "bg" },
+ fg = { [hl] = "fg" },
+ })
+ icon = set_hl(hlgroup, icon)
+ end
+ return (fmt):format(icon)
+ end
+ return ""
+ end))
+end
+
+M.git_branch = function(opts)
+ opts = opts or {}
+ return el_sub.buf_autocmd("el_git_branch", "BufEnter",
+ wrap_fnc(opts, function(_, buffer)
+ -- Try fugitive first as it's most reliable
+ local branch = vim.g.loaded_fugitive == 1 and
+ vim.fn.FugitiveHead() or nil
+ -- buffer can be null and code will crash with:
+ -- E5108: Error executing lua ... 'attempt to index a nil value'
+ if not buffer or not (buffer.bufnr > 0) then
+ return
+ end
+ -- fugitive is empty or not loaded, try gitsigns
+ if not branch or #branch == 0 then
+ local ok, res = pcall(vim.api.nvim_buf_get_var,
+ buffer.bufnr, "gitsigns_head")
+ if ok then branch = res end
+ end
+ -- last resort run git command
+ if not branch then
+ local j = Job:new {
+ command = "git",
+ args = { "branch", "--show-current" },
+ cwd = vim.fn.fnamemodify(buffer.name, ":h"),
+ }
+
+ local ok, result = pcall(function()
+ return vim.trim(j:sync()[1])
+ end)
+ if ok then
+ branch = result
+ end
+ end
+
+ if branch and #branch > 0 then
+ local fmt = opts.fmt or "%s %s"
+ local icon = opts.icon or ""
+ return set_hl(opts.hl, (fmt):format(icon, branch))
+ end
+ end))
+end
+
+local git_changes_formatter = function(opts)
+ local specs = {
+ insert = {
+ regex = "(%d+) insertions?",
+ icon = opts.icon_insert or "+",
+ hl = opts.hl_insert,
+ },
+ change = {
+ regex = "(%d+) files? changed",
+ icon = opts.icon_change or "~",
+ hl = opts.hl_change,
+ },
+ delete = {
+ regex = "(%d+) deletions?",
+ icon = opts.icon_delete or "-",
+ hl = opts.hl_delete,
+ },
+ }
+ return function(_, _, s)
+ local result = {}
+ for k, v in pairs(specs) do
+ local count = nil
+ if type(s) == "string" then
+ -- 'git diff --shortstat' output
+ -- from 'git_changes_all'
+ count = tonumber(string.match(s, v.regex))
+ else
+ -- map from 'git_changes_buf'
+ count = s[k]
+ end
+ if count and count > 0 then
+ table.insert(result, set_hl(v.hl, ("%s%d"):format(v.icon, count)))
+ end
+ end
+ return table.concat(result, ", ")
+ end
+end
+
+-- requires gitsigns
+M.git_changes_buf = function(opts)
+ opts = opts or {}
+ local formatter = opts.formatter or git_changes_formatter(opts)
+ return wrap_fnc(opts, function(window, buffer)
+ local stats = {}
+ if buffer and buffer.bufnr > 0 then
+ local ok, res = pcall(vim.api.nvim_buf_get_var,
+ buffer.bufnr, "vgit_status")
+ if ok then stats = res end
+ end
+ if buffer and buffer.bufnr > 0 then
+ local ok, res = pcall(vim.api.nvim_buf_get_var,
+ buffer.bufnr, "gitsigns_status_dict")
+ if ok then stats = res end
+ end
+ local counts = {
+ insert = stats.added > 0 and stats.added or nil,
+ change = stats.changed > 0 and stats.changed or nil,
+ delete = stats.removed > 0 and stats.removed or nil,
+ }
+ if not vim.tbl_isempty(counts) then
+ local fmt = opts.fmt or "%s"
+ local out = formatter(window, buffer, counts)
+ return out and fmt:format(out) or nil
+ else
+ -- el functions that return a
+ -- string must not return nil
+ return ""
+ end
+ end)
+end
+
+M.git_changes_all = function(opts)
+ opts = opts or {}
+ local formatter = opts.formatter or git_changes_formatter(opts)
+ return el_sub.buf_autocmd("el_git_changes", "BufWritePost",
+ wrap_fnc(opts, function(window, buffer)
+ if not buffer or
+ not (buffer.bufnr > 0) or
+ vim.bo[buffer.bufnr].bufhidden ~= "" or
+ vim.bo[buffer.bufnr].buftype == "nofile" or
+ vim.fn.filereadable(buffer.name) ~= 1 then
+ return
+ end
+
+ local j = Job:new {
+ command = "git",
+ args = { "diff", "--shortstat" },
+ -- makes no sense to run for one file as
+ -- 'file(s) changed' will always be 1
+ -- args = { "diff", "--shortstat", buffer.name },
+ cwd = vim.fn.fnamemodify(buffer.name, ":h"),
+ }
+
+ local ok, git_changes = pcall(function()
+ return formatter(window, buffer, vim.trim(j:sync()[1]))
+ end)
+
+ if ok then
+ local fmt = opts.fmt or "%s"
+ return git_changes and fmt:format(git_changes) or nil
+ end
+ end))
+end
+
+local function lsp_srvname(bufnr)
+ local buf_clients = vim.lsp.buf_get_clients(bufnr)
+ if not buf_clients or #buf_clients == 0 then
+ return nil
+ end
+ local names = ""
+ for i, c in ipairs(buf_clients) do
+ if i > 1 then names = names .. ", " end
+ names = names .. c.name
+ end
+ return names
+end
+
+local function diag_formatter(opts)
+ return function(_, buffer, counts)
+ local items = {}
+ local icons = {
+ ["errors"] = { opts.icon_err or "E", opts.hl_err },
+ ["warnings"] = { opts.icon_warn or "W", opts.hl_warn },
+ ["infos"] = { opts.icon_info or "I", opts.hl_info },
+ ["hints"] = { opts.icon_hint or "H", opts.hl_hint },
+ }
+ for _, k in ipairs({ "errors", "warnings", "infos", "hints" }) do
+ if counts[k] > 0 then
+ table.insert(items,
+ set_hl(icons[k][2], ("%s:%s"):format(icons[k][1], counts[k])))
+ end
+ end
+ local fmt = opts.fmt or "%s"
+ local lsp_name = opts.lsp and lsp_srvname(buffer.bufnr)
+ if not lsp_name and vim.tbl_isempty(items) then
+ return ""
+ else
+ local contents = lsp_name
+ if not vim.tbl_isempty(items) then
+ contents = ("%s %s"):format(lsp_name, table.concat(items, " "))
+ end
+ return fmt:format(contents)
+ end
+ end
+end
+
+local get_buffer_counts = function(diagnostic, _, buffer)
+ local counts = { 0, 0, 0, 0 }
+ local diags = diagnostic.get(buffer.bufnr)
+ if diags and not vim.tbl_isempty(diags) then
+ for _, d in ipairs(diags) do
+ if tonumber(d.severity) then
+ counts[d.severity] = counts[d.severity] + 1
+ end
+ end
+ end
+ return {
+ errors = counts[1],
+ warnings = counts[2],
+ infos = counts[3],
+ hints = counts[4],
+ }
+end
+
+M.diagnostics = function(opts)
+ opts = opts or {}
+ local formatter = opts.formatter or diag_formatter(opts)
+ return el_sub.buf_autocmd("el_buf_diagnostic", "LspAttach,DiagnosticChanged",
+ wrap_fnc(opts, function(window, buffer)
+ return formatter(window, buffer, get_buffer_counts(vim.diagnostic, window, buffer))
+ end))
+end
+
+return M
diff --git a/lua/core/auto.lua b/lua/core/auto.lua
index 2403c5e..1a20612 100644
--- a/lua/core/auto.lua
+++ b/lua/core/auto.lua
@@ -1,73 +1,48 @@
+local function auto(event, opts)
+ a.nvim_create_autocmd(event, opts)
+end
+
a.nvim_create_augroup('bufcheck', {clear = true})
-- highlight yanks
-a.nvim_create_autocmd('TextYankPost', {
- group = 'bufcheck',
- pattern = '*',
- callback = function() vim.highlight.on_yank{timeout = 250} end
-})
-
--- start terminal in insert mode
-a.nvim_create_autocmd('TermOpen', {
- group = 'bufcheck',
- pattern = '*',
- command = 'startinsert | set winfixheight'
-})
-
--- close terminal buffers after shell dies
-a.nvim_create_autocmd('TermClose', {
+auto('TextYankPost', {
group = 'bufcheck',
- pattern = 'term://*',
- command = 'call nvim_input("<CR>")'
+ pattern = '*',
+ callback = function()
+ vim.highlight.on_yank{ timeout = 250 }
+ end
})
-- start git messages in insert mode
-a.nvim_create_autocmd('FileType', {
- group = 'bufcheck',
- pattern = { 'gitcommit', 'gitrebase', },
- command = 'startinsert | 1'
+auto('FileType', {
+ group = 'bufcheck',
+ pattern = { 'gitcommit', 'gitrebase', },
+ command = 'startinsert | 1'
})
-- return to last place
-a.nvim_create_autocmd('BufRead', {
+auto('BufRead', {
pattern = '*',
command = [[call setpos(".", getpos("'\""))]]
})
--- disable color column in certain files
-a.nvim_create_autocmd('FileType', {
- pattern = {
- 'netrw',
- "help",
- "term",
- "gitcommit",
- "packer",
- "vim",
- "Trouble",
- "norg",
- "alpha"
- },
- command = 'set colorcolumn=0'
-})
-
--- disable intent markers in certain files
-a.nvim_create_autocmd('FileType', {
- pattern = {
- 'netrw',
- "help",
- "term",
- "gitcommit",
- "packer",
- "vim",
- "Trouble",
- "norg",
- "alpha"
- },
- command = 'IndentBlanklineDisable'
+-- start terminal in insert mode
+auto('TermOpen', {
+ group = 'bufcheck',
+ pattern = '*',
+ callback = function()
+ vim.cmd('startinsert | set winfixheight')
+ o.winfixheight = true
+ o.cmdheight = 0
+ end
})
--- disable extra tildas in certain files
-a.nvim_create_autocmd('FileType', {
- pattern = '*',
- command = 'hi NonText guifg=bg'
+-- close terminal buffers after shell dies
+auto('TermClose', {
+ group = 'bufcheck',
+ pattern = 'term://*',
+ callback = function()
+ vim.cmd('call nvim_input("<CR>")')
+ o.cmdheight = 1
+ end
})
diff --git a/lua/core/binds.lua b/lua/core/binds.lua
new file mode 100644
index 0000000..bf04f59
--- /dev/null
+++ b/lua/core/binds.lua
@@ -0,0 +1,148 @@
+local function map(mode, bind, cmd, opts)
+ opts = opts or {noremap = true, silent = true}
+ if type(bind) == 'table' then
+ for i in pairs(bind) do
+ vim.keymap.set(mode, bind[i], cmd, opts)
+ end
+ elseif type(bind) == 'string' then
+ vim.keymap.set(mode, bind, cmd, opts)
+ else
+ vim.notify('-- Invalid bind for keymap:\nvim.keymap.set(\''
+ .. mode .. '\', ' .. bind .. ', \'' .. cmd .. '\')',
+ vim.log.levels.WARN, {
+ title = 'Neovim Config',
+ on_open = function(win)
+ local buf = vim.api.nvim_win_get_buf(win)
+ vim.api.nvim_buf_set_option(buf, "filetype", "lua")
+ end
+ }
+ )
+ end
+end
+
+-- vim binds ------------------------------------------------------------------
+g.mapleader = ' ' -- set leader key
+
+-- greatest remap ever
+map('x', '<leader>p', [["_dP]])
+
+-- clear search
+map('n', '<ESC>', ':nohlsearch<Bar>:echo<CR>')
+
+-- move selected text up/down
+map('v', '<S-k>', ":m '<-2<CR>gv=gv")
+map('v', '<S-j>', ":m '>+1<CR>gv=gv")
+
+-- the cursor STAYS IN THE MIDDLE
+map('n', '<S-j>', 'mzJ`z<cmd>delm z<CR>') -- when combining lines
+map('n', 'n', 'nzzzv') -- searching
+map('n', 'N', 'Nzzzv')
+map('n', '<C-d>', '<C-d>zz') -- half page jumping
+map('n', '<C-u>', '<C-u>zz')
+
+-- execute order 111
+map('n', '<leader>x', '<cmd>!chmod +x %<CR>')
+
+-- tabs
+--[[ map('n', '<C-i>', '<cmd>tabnew<CR>')
+map('n', '<C-o>', '<cmd>tabclose<CR>')
+map('n', '<C-u>', '<cmd>tabprevious<CR>')
+map('n', '<C-p>', '<cmd>tabnext<CR>')
+map('n', '<leader>tL', '<cmd>tabmove +1<CR>')
+map('n', '<leader>tH', '<cmd>tabmove -1<CR>') ]]
+
+-- add some keybinds to the file view
+a.nvim_create_autocmd('FileType', {
+ pattern = 'netrw',
+ callback = function()
+ local bind = function(lhs, rhs)
+ vim.keymap.set('n', lhs, rhs, { remap = true, buffer = true })
+ end
+ bind('h', '-^') -- Go up a directory
+ bind('l', '<CR>') -- Go down a directory / open a file
+ bind('.', 'gh') -- Toggle dotfiles
+ bind('P', '<C-w>z') -- Close preview window
+ bind('<ESC>', '<cmd>q<CR>') -- Close netrw
+ end
+})
+
+-- custom menu for simpler neovim managment -----------------------------------
+local function configmenu()
+ local list = {}
+ local function add(name, plug)
+ if not plug then
+ table.insert(list, name)
+ return
+ end
+ if package.loaded[plug] then
+ table.insert(list, name)
+ end
+ end
+
+ add('edit config')
+ add('update plugins', 'dep')
+
+ vim.ui.select(list, { prompt = 'Config Menu' },
+ function(choice)
+ if choice == 'edit config' then
+ vim.cmd'e $XDG_CONFIG_HOME/nvim/init.lua'
+ end
+ if choice == 'update plugins' then
+ require('dep').sync()
+ if package.loaded['nvim-treesitter'] then
+ vim.cmd'TSUpdate'
+ end
+ if package.loaded['mason'] then
+ require('mason.api.command').MasonUpdate()
+ end
+ end
+ end)
+end
+
+map('n', '<C-m>', configmenu)
+
+-- plugin binds ---------------------------------------------------------------
+-- treesj
+local treesj = require('treesj')
+map('n', '<leader>j', treesj.toggle)
+
+-- telescope
+local telebuilt = require('telescope.builtin')
+map('n', '<leader>sf', telebuilt.find_files)
+map('n', '<leader>sg', telebuilt.git_files)
+map('n', '<leader>sp', function()
+ telebuilt.grep_string({ search = vim.fn.input('Find string in project > ') });
+end)
+map('n', '<leader>so', telebuilt.oldfiles)
+
+-- intellitab
+local intellitab = require('intellitab')
+map('n', '<Tab>', intellitab.indent)
+
+-- undo tree
+map('n', '<leader>u', '<cmd>UndotreeToggle<CR>')
+
+-- sfm
+map('n', '<leader>f', '<cmd>SFMToggle<CR>')
+
+-- dap ui
+local dapui = require('dapui')
+map('n', '<leader>d', dapui.toggle)
+
+-- switch between previous buffers
+map('n', '<leader>b', '<cmd>JABSOpen<CR>')
+
+-- resizing buffers (toggleable)
+local smartsplits = require('smart-splits')
+map('n', '<leader>r', smartsplits.start_resize_mode)
+
+-- trouble (lsp error view)
+map('n', '<leader>t', '<cmd>TroubleToggle<CR>')
+
+-- icon picker
+map('n', '<C-e>', '<cmd>IconPickerYank<CR>')
+
+-- toggle term
+map('t', '<ESC>', '<C-\\><C-n>') -- make <ESC> work in terminals
+map({'n', 't'}, '<C-\\>', '<cmd>ToggleTerm size=20<CR>')
+map({'n', 't'}, '<leader>gl', '<cmd>lua _glow()<CR>')
diff --git a/lua/core/cmds.lua b/lua/core/cmds.lua
new file mode 100644
index 0000000..03ff87f
--- /dev/null
+++ b/lua/core/cmds.lua
@@ -0,0 +1,6 @@
+local function cmd(name, exec, opts)
+ opts = opts or {}
+ vim.api.nvim_create_user_command(name, exec, opts)
+end
+
+cmd('Colorscheme', 'Telescope colorscheme')
diff --git a/lua/core/handler.lua b/lua/core/handler.lua
new file mode 100644
index 0000000..2808f2f
--- /dev/null
+++ b/lua/core/handler.lua
@@ -0,0 +1,7 @@
+require('core.plugins') -- load plugins first to allow colorscheme to be set in opts
+require'impatient'.enable_profile()
+require('core.opts')
+require('core.highlight')
+require('core.binds')
+require('core.auto')
+require('core.cmds')
diff --git a/lua/core/highlight.lua b/lua/core/highlight.lua
new file mode 100644
index 0000000..bf8865b
--- /dev/null
+++ b/lua/core/highlight.lua
@@ -0,0 +1,50 @@
+local highlight = function(group, opts, space)
+ space = space or 0
+ a.nvim_set_hl(space, group, opts)
+end
+
+local c = require('mellow.colors')
+
+-- vim highlights -------------------------------------------------------------
+highlight("CursorLineNr", { fg = '#FFFFFF', bold = true })
+
+-- diagnostics
+-- highlight('DiagnosticError', { fg = c.cyan })
+-- highlight('DiagnosticWarn', { fg = c.red })
+-- highlight('DiagnosticInfo', { fg = c.yellow })
+-- highlight('DiagnosticHint', { fg = c.blue })
+-- highlight('DiagnosticUnderlineError', { fg = c.cyan })
+-- highlight('DiagnosticUnderlineWarn', { fg = c.red })
+-- highlight('DiagnosticUnderlineInfo', { fg = c.yellow })
+-- highlight('DiagnosticUnderlineHint', { fg = c.blue })
+
+-- plugin highlights ----------------------------------------------------------
+-- telescope
+highlight('TelescopeMatching', { bg = '#1B1B1D' })
+highlight('TelescopeNormal', { bg = '#131314' })
+
+highlight('TelescopePreviewBorder', { bg = '#161617' })
+highlight('TelescopePreviewNormal', { bg = '#161617' })
+highlight('TelescopePreviewTitle', { bg = '#161617', fg = '#161617' })
+
+highlight('TelescopePromptBorder', { bg = '#1B1B1D' })
+highlight('TelescopePromptNormal', { bg = '#1B1B1D' })
+highlight('TelescopePromptPrefix', { bg = '#1B1B1D' })
+highlight('TelescopePromptTitle', { bg = '#1B1B1D'})
+
+highlight('TelescopeResultsBorder', { bg = '#131314' })
+highlight('TelescopeResultsNormal', { bg = '#131314' })
+highlight('TelescopeResultsTitle', { bg = '#131314', fg = '#131314' })
+
+highlight('TelescopeSelection', { bg = '#161617' })
+highlight('TelescopeSelectionCaret', { bg = '#161617', fg = '#F5A191'})
+
+-- indent blankline
+highlight('IndentBlanklineIndent1', { bg = '#161617' })
+highlight('IndentBlanklineIndent2', { bg = '#121212' })
+
+-- alpha
+highlight('AlphaHeader', { fg = '#AAA0CE' })
+
+-- fidget
+highlight('FidgetTask', { fg = '#ffffff' })
diff --git a/lua/core/init.lua b/lua/core/init.lua
deleted file mode 100644
index cfd4ed6..0000000
--- a/lua/core/init.lua
+++ /dev/null
@@ -1,6 +0,0 @@
-require('core.plugins')
-require('core.opts')
-require('core.maps')
-require('core.auto')
-require("core.snippets.init")
-require('core.overrides.init')
diff --git a/lua/core/maps.lua b/lua/core/maps.lua
deleted file mode 100644
index 7958785..0000000
--- a/lua/core/maps.lua
+++ /dev/null
@@ -1,165 +0,0 @@
-local opts = { noremap = true, silent = true }
-
--- greatest remap ever
-a.nvim_set_keymap("n", "<leader>p", "\"_dP", opts)
-
--- toggle terminal buffer
-a.nvim_set_keymap("n", "<C-\\>", "<cmd>ToggleTerm size=20<CR>", opts)
-a.nvim_set_keymap("t", "<C-\\>", "<cmd>ToggleTerm<CR>", opts)
-
--- esc to go to normal mode in term bufers
-a.nvim_set_keymap("t", "<ESC>", "<C-\\><C-n>", opts)
-
--- open file viewer
-a.nvim_set_keymap("n", "<leader>fo", ":Ex<CR>", opts)
-a.nvim_set_keymap("n", "<leader>fs", ":Sex<CR>", opts)
-a.nvim_set_keymap("n", "<leader>fh", ":Hex<CR>", opts)
-a.nvim_set_keymap("n", "<leader>fv", ":Vex<CR>", opts)
-
--- clear search
-a.nvim_set_keymap("n", "<ESC>", ":nohlsearch<Bar>:echo<CR>", opts)
-
--- move selected text
-a.nvim_set_keymap("v", "<S-j>", ":m '>+1<CR>gv=gv", opts)
-a.nvim_set_keymap("v", "<S-k>", ":m '<-2<CR>gv=gv", opts)
-
--- keep cursor middle
-a.nvim_set_keymap("n", "<S-j>", "mzJ`z", opts) -- when combining lines
-a.nvim_set_keymap("n", "n", "nzzzv", opts) -- searching
-a.nvim_set_keymap("n", "N", "Nzzzv", opts)
-a.nvim_set_keymap("n", "<C-d>", "<C-d>zz", opts) -- half page jumping
-a.nvim_set_keymap("n", "<C-u>", "<C-u>zz", opts)
-
--- execute order 111
-a.nvim_set_keymap("n", "<leader>x", "<cmd>!chmod +x %<CR>", opts)
-
--- add some keybinds to the file view
-a.nvim_create_autocmd('FileType', {
- pattern = 'netrw',
- callback = function()
- local bind = function(lhs, rhs)
- vim.keymap.set('n', lhs, rhs, { remap = true, buffer = true })
- end
- bind('h', '-^') -- Go up a directory
- bind('l', '<CR>') -- Go down a directory / open a file
- bind('.', 'gh') -- Toggle dotfiles
- bind('P', '<C-w>z') -- Close preview window
- bind('<ESC>', '<cmd>q<CR>') -- Close netrw
- end
-})
-
--- plugin related binds
--- better indenting
-a.nvim_set_keymap('i', '<tab>', '<cmd>lua require("intellitab").indent()<CR>', opts)
-
--- open Trouble buffer
-a.nvim_set_keymap("n", "<leader>tt", "<cmd>TroubleToggle document_diagnostics<CR>", opts)
-a.nvim_set_keymap("n", "<leader>td", "<cmd>TodoTrouble<CR>", opts)
-
--- dismiss notifications
-a.nvim_set_keymap("n", "<leader>nd", "", { callback = require('notify').dismiss })
-
--- resizing splits
-a.nvim_set_keymap("n", '<C-h>', "<cmd>SmartResizeLeft<CR>", opts)
-a.nvim_set_keymap("n", '<C-j>', "<cmd>SmartResizeDown<CR>", opts)
-a.nvim_set_keymap("n", '<C-k>', "<cmd>SmartResizeUp<CR>", opts)
-a.nvim_set_keymap("n", '<C-l>', "<cmd>SmartResizeRight<CR>", opts)
-
--- don't blame me pls
-a.nvim_set_keymap("n", "<C-g>", [[<cmd>Gitsigns toggle_current_line_blame<CR>]], opts)
-
--- telescope
-a.nvim_set_keymap('n', '<leader>sf', '<cmd>Telescope find_files<CR>', opts)
-a.nvim_set_keymap('n', '<leader>sg', '<cmd>Telescope git_commits<CR>', opts)
-a.nvim_set_keymap('n', '<leader>sb', '<cmd>Telescope current_buffer_fuzzy_find<CR>', opts)
-a.nvim_set_keymap('n', '<leader>so', '<cmd>Telescope oldfiles<CR>', opts)
-a.nvim_set_keymap('n', '<leader>sc', '<cmd>Telescope neoclip unnamed<CR>', opts)
-a.nvim_set_keymap('n', '<leader>su', '<cmd>Telescope undo<CR>', opts)
-a.nvim_set_keymap('n', '<leader>sd', '<cmd>Telescope diagnostics<CR>', opts)
-a.nvim_set_keymap('n', '<leader>sn', '<cmd>Telescope notify<CR>', opts)
-
--- treesitter
-a.nvim_set_keymap('n', '<leader>j', '<cmd>TSJToggle<CR>', opts)
-
--- re-source snippets
-a.nvim_set_keymap('n', '<leader><leader>s', '<cmd>source ~/.config/nvim/lua/core/snippets/init.lua<CR>', opts)
-
--- hover
-vim.keymap.set('n', '<S-tab>', require("hover").hover_select, opts)
-
--- lsp diagnostics float
-a.nvim_set_keymap('n', '<tab>', '<cmd>lua vim.diagnostic.open_float()<CR>', opts)
-
--- essentials
-a.nvim_set_keymap('n', '<leader>eu', '<cmd>lua require("essentials").go_to_url()<CR>', opts)
-a.nvim_set_keymap('n', '<leader>ec', '<cmd>lua require("essentials").cheat_sh()<CR>', opts)
-
--- return to home screen
-a.nvim_set_keymap('n', '<leader>gh', '<cmd>Alpha<CR>', opts)
-
--- true zen
-local truezen = require('true-zen')
-local keymap = vim.keymap
-
-keymap.set('n', '<leader>zn', function()
- local first = 0
- local last = vim.api.nvim_buf_line_count(0)
- truezen.narrow(first, last)
-end, { noremap = true })
-keymap.set('v', '<leader>zn', function()
- local first = vim.fn.line('v')
- local last = vim.fn.line('.')
- truezen.narrow(first, last)
-end, { noremap = true })
-a.nvim_set_keymap('n', '<leader>zf', '<cmd>lua require("true-zen.focus").toggle()<CR>', opts)
-a.nvim_set_keymap('n', '<leader>zm', '<cmd>lua require("true-zen.minimalist").toggle()<CR>', opts)
-a.nvim_set_keymap('n', '<leader>za', '<cmd>lua require("true-zen.ataraxis").toggle()<CR>', opts)
-
--- highlighting
-a.nvim_set_keymap("v", "<leader>ha", ":<c-u>HSHighlight 1<CR>", opts)
-a.nvim_set_keymap("v", "<leader>hc", ":<c-u>HSRmHighlight<CR>", opts)
-
--- code actions + renaming
-a.nvim_set_keymap('n', '<leader>gn', '<cmd>lua require("cosmic-ui").rename()<CR>', opts)
-a.nvim_set_keymap('v', '<leader>ga', '<cmd>lua require("cosmic-ui").range_code_actions()<CR>', opts)
-a.nvim_set_keymap('n', '<leader>ga', '<cmd>lua require("cosmic-ui").code_actions()<CR>', opts)
-
--- glow
-a.nvim_set_keymap('n', '<leader>gl', '<cmd>lua _glow()<CR>', opts)
-
--- open file tree
-a.nvim_set_keymap('n', '<leader>to', '<cmd>SFMToggle<CR>', opts)
-
--- vbox note taking
-function _G.Toggle_venn()
- local venn_enabled = vim.inspect(vim.b.venn_enabled)
- vim.notify = require('notify')
- if venn_enabled == "nil" then
- vim.b.venn_enabled = true
- cmd[[setlocal ve=all]]
-
- -- draw a line on HJKL keystokes
- a.nvim_buf_set_keymap(0, "n", "J", "<C-v>j:VBox<CR>", {noremap = true})
- a.nvim_buf_set_keymap(0, "n", "K", "<C-v>k:VBox<CR>", {noremap = true})
- a.nvim_buf_set_keymap(0, "n", "L", "<C-v>l:VBox<CR>", {noremap = true})
- a.nvim_buf_set_keymap(0, "n", "H", "<C-v>h:VBox<CR>", {noremap = true})
-
- -- draw a box by pressing "f" with visual selection
- a.nvim_buf_set_keymap(0, "v", "f", ":VBox<CR>", {noremap = true})
- -- make easier to navigate
- o.cursorcolumn = true
- o.colorcolumn = { 0 }
- -- notify
- vim.notify("venn toggled on", "info", { title = "Neovim config" })
- else
- cmd[[setlocal ve=]]
- cmd[[mapclear <buffer>]]
- vim.b.venn_enabled = nil
- o.cursorcolumn = false
- o.colorcolumn = { 80 }
- -- notify
- vim.notify("venn toggled off", "info", { title = "Neovim config" })
- end
-end
--- toggle keymappings for venn using <leader>v
-a.nvim_set_keymap('n', '<leader>v', ":lua Toggle_venn()<CR>", { noremap = true})
diff --git a/lua/core/opts.lua b/lua/core/opts.lua
index 75e8c38..f134f70 100644
--- a/lua/core/opts.lua
+++ b/lua/core/opts.lua
@@ -1,116 +1,57 @@
----------------
--- better ui --
----------------
-o.number = true
-o.relativenumber = true
-o.numberwidth = 2 -- width o numberline
-o.signcolumn = 'yes:1' -- show gutter
-o.cursorline = true -- highlights the current line
-o.scrolloff = 5 -- # lines below/above cursor
-o.showmode = false -- stop vim from showing mode
-o.cmdheight = 2 -- vim command height
-o.mouse = "" -- no mouse
-o.laststatus = 3 -- global statusline
+-- better ui ------------------------------------------------------------------
+vim.notify = require("notify")
+o.colorcolumn = { 80 }
-o.wrap = true -- wrap lines
+-- buffer
+o.scrolloff = 5
+o.wrap = true -- wraping lines
o.linebreak = true -- fix where line is wraped
-o.emoji = false -- something to do with the spacing of emojis
-o.clipboard = 'unnamedplus' -- use system clipboard
+o.cursorline = true
+
+-- statusbar
+o.laststatus = 3
+o.cmdheight = 1
+if o.cmdheight == 0 then
+ o.showcmdloc = 'statusline'
+end
+o.showmode = false -- stop vim from showing mode (we have a statusbar)
+
+-- status column
+o.signcolumn = 'yes:1' -- show gutter
+o.relativenumber = true
+o.number = true
+o.numberwidth = 2
--- intenting & tabing
+-- indents + tabs
+local tabwidth = 2
o.expandtab = true
o.smarttab = true
o.cindent = true
o.autoindent = true
-o.tabstop = 2
-o.shiftwidth = 2
-o.softtabstop = -1 -- If negative, shiftwidth value is used
-
--- spelling
-o.spelllang = { 'en_us' }
+o.tabstop = tabwidth
+o.shiftwidth = tabwidth
+o.softtabstop = tabwidth
--- colors
+-- colorscheme
o.termguicolors = true
-cmd('colorscheme jellybeans-nvim')
-
--- diagnostics w/o virtual text
-vim.diagnostic.config({
- underline = true,
- virtual_text = false
-})
-
-colors = {
- black = '#000000',
- black2 = '#161616',
- black3 = '#0E0E0E',
- black4 = '#101010',
- grey = '#1E1E1E',
- grey2 = '#404040',
- white = '#ffffff',
- red = '#E06C75',
- orange = '#EA936C',
- yellow = '#E5C07B',
- green = '#98C379',
- blue = '#61AFEF',
- purple = '#C678DD',
- pink = '#704A5A',
-}
+vim.cmd('colorscheme mellow')
-lspicons = {
- Text = 'Tx',
- Snippet = '<>',
- Method = ' ',
- Function = '{}',
- Constructor = ' ',
- Field = '""',
- Variable = 'x=',
- Class = '~{',
- Interface = '.h',
- Module = ' ',
- Property = '@p',
- Unit = ' ',
- Value = ' ',
- Enum = 'E#',
- Keyword = '$1',
- Color = ' ',
- File = '#`',
- Reference = ' ',
- Folder = '[/',
- EnumMember = ' ',
- Constant = ' ',
- Struct = ' ',
- Event = ' ',
- Operator = '%*',
- TypeParameter = ' ',
-}
+-- better editing -------------------------------------------------------------
+o.clipboard = 'unnamedplus' -- system clipboard (on unix like)
--- width line
-o.colorcolumn = { 80 }
-
--- custom opts
-copts = {
- tablines = 'colored', -- false, 'colored', and 'wrap'
- minimapcolor = colors.grey2,
-}
-
-------------
--- saving --
-------------
+-- file saving ----------------------------------------------------------------
o.swapfile = false
o.undofile = true
o.confirm = true
-------------
--- search --
-------------
+-- searching ------------------------------------------------------------------
o.ignorecase = true
o.smartcase = true
o.wrapscan = true
o.showmatch = true
+o.incsearch = true
-----------------
--- wild menus --
-----------------
+-- wild menus -----------------------------------------------------------------
o.wildoptions = 'pum'
o.pumblend = 3
o.pumheight = 20
@@ -118,101 +59,9 @@ o.pumheight = 20
o.wildignorecase = true
o.wildignore = '*.o'
------------
--- netrw --
------------
-g.netrw_banner = 0
+-- netrw ----------------------------------------------------------------------
+g.netrw_banner = 1
g.netrw_localcopydircmd = 'cp -r'
g.netrw_winsize = 30
g.netrw_liststyle = 1
-
------------------------
--- language settings --
------------------------
-g.c_syntax_for_h = true -- treat c header files as c files instead of c++ files
-
-----------------
--- highlights --
-----------------
--- transparent background
--- a.nvim_set_hl(0, "Normal", { bg = "" })
-
---
-a.nvim_set_hl(0, "ColorColumn", { bg = colors.grey }) -- color column
-a.nvim_set_hl(0, "Pmenu", { bg = colors.black2 })
-a.nvim_set_hl(0, "PmenuSel", { bg = colors.grey2 })
-a.nvim_set_hl(0, "CursorLineNr", { fg = colors.white, bold = true })
-
--- indent line colors
-a.nvim_set_hl(0, "IndentBlanklineIndent1", { fg = colors.red } )
-a.nvim_set_hl(0, "IndentBlanklineIndent2", { fg = colors.orange } )
-a.nvim_set_hl(0, "IndentBlanklineIndent3", { fg = colors.yellow } )
-a.nvim_set_hl(0, "IndentBlanklineIndent4", { fg = colors.green } )
-a.nvim_set_hl(0, "IndentBlanklineIndent5", { fg = colors.blue } )
-a.nvim_set_hl(0, "IndentBlanklineIndent6", { fg = colors.purple } )
-
--- code window
-a.nvim_set_hl(0, 'CodewindowBorder', {fg = copts.minimapcolor})
-
--- diagnostics
-a.nvim_set_hl(0, "DiagnosticVirtualTextHint", { fg = "#ffffff", bg = "#1E1E1E" })
-a.nvim_set_hl(0, "DiagnosticVirtualTextInfo", { fg = "#006fd8", bg = "#152f47" })
-a.nvim_set_hl(0, "DiagnosticVirtualTextWarn", { fg = "#E9AD5A", bg = "#533221" })
-a.nvim_set_hl(0, "DiagnosticVirtualTextError",
- { fg = "#ED3B44", bg = "#4b1313" })
-
--- alpha start page 4chan edition
-a.nvim_set_hl(0, "AlphaHeader", {fg = "#789922" })
-a.nvim_set_hl(0, "AlphaEmphasis", {fg = "#DD0000" })
-
--- murmur (word highlights)
-a.nvim_set_hl(0, "murmur_cursor_rgb", { bg = colors.grey2 })
-
--- cmp/treesitter stuff
-a.nvim_set_hl(0, "CmpItemMenu", { fg = colors.purple, italic = true })
-
-a.nvim_set_hl(0, "CmpItemKindSnippet", { bg = "#A377BF", bold = true })
-a.nvim_set_hl(0, "CmpItemKindText", { bg = "#63bc47", bold = true })
-a.nvim_set_hl(0, "CmpItemKindField", { bg = "#db7093", bold = true })
-a.nvim_set_hl(0, "CmpItemKindVariable", { bg = "#ff8c00", bold = true })
-a.nvim_set_hl(0, "CmpItemKindEnum", { bg = "#FF5733", bold = true })
-a.nvim_set_hl(0, "CmpItemKindFunction", { bg = "#483d8b", bold = true })
-a.nvim_set_hl(0, "CmpItemKindKeyword", { bg = "#FF339C", bold = true })
-a.nvim_set_hl(0, "CmpItemKindProperty", { bg = "#4FBF63", bold = true })
-a.nvim_set_hl(0, "CmpItemKindInterface", { bg = "#1e90ff", bold = true })
-a.nvim_set_hl(0, "CmpItemKindClass", { bg = "#4D4C5C", bold = true })
-a.nvim_set_hl(0, "CmpItemKindFile", { bg = "#E8D01C", bold = true })
-a.nvim_set_hl(0, "CmpItemKindFolder", { bg = "#E8D01C", bold = true })
-a.nvim_set_hl(0, "CmpItemKindOperator", { bg = "#E06C75", bold = true })
-
--- telescope
-a.nvim_set_hl(0, "TelescopeMatching", { bg = colors.black3 })
-a.nvim_set_hl(0, "TelescopeNormal", { bg = colors.black3 })
-
-a.nvim_set_hl(0, "TelescopePreviewBorder", { bg = colors.black3 })
-a.nvim_set_hl(0, "TelescopePreviewNormal", { bg = colors.black3 })
-a.nvim_set_hl(0, "TelescopePreviewTitle", { bg = colors.black3,
- fg = colors.black3 })
-
-a.nvim_set_hl(0, "TelescopePromptBorder", { bg = colors.black2 })
-a.nvim_set_hl(0, "TelescopePromptNormal", { bg = colors.black2 })
-a.nvim_set_hl(0, "TelescopePromptPrefix", { bg = colors.black2 })
-a.nvim_set_hl(0, "TelescopePromptTitle", { bg = colors.black2,
- fg = colors.black2 })
-
-a.nvim_set_hl(0, "TelescopeResultsBorder", { bg = colors.black4 })
-a.nvim_set_hl(0, "TelescopeResultsNormal", { bg = colors.black4 })
-a.nvim_set_hl(0, "TelescopeResultsTitle", { bg = colors.black4,
- fg = colors.black4 })
-
-a.nvim_set_hl(0, "TelescopeSelection", { bg = colors.black2 })
-a.nvim_set_hl(0, "TelescopeSelectionCaret", { bg = colors.black2,
- fg = colors.orange, bold = true })
-
--- sfm (tree view stuff)
-a.nvim_set_hl(0, "SFMGitStaged", { fg = colors.green })
-a.nvim_set_hl(0, "SFMGitUnstaged", { fg = colors.green })
-a.nvim_set_hl(0, "SFMGitRenamed", { fg = colors.purple })
-a.nvim_set_hl(0, "SFMGitNew", { fg = colors.orange })
-a.nvim_set_hl(0, "SFMGitDeleted", { fg = colors.red })
-a.nvim_set_hl(0, "SFMGitIgnored", { fg = colors.grey })
+g.netrw_preview = 1
diff --git a/lua/core/overrides/alpha.lua b/lua/core/overrides/alpha.lua
deleted file mode 100644
index 373eeff..0000000
--- a/lua/core/overrides/alpha.lua
+++ /dev/null
@@ -1,260 +0,0 @@
-local present, alpha = pcall(require, "alpha")
-if not present then
- return
-end
-
-local pepe = {
- {
- [[⠄⠄⠄⠄⠄⠄⠄⢀⣠⣶⣾⣿⣶⣦⣤⣀⠄⢀⣀⣤⣤⣤⣤⣄⠄⠄⠄⠄⠄⠄]],
- [[⠄⠄⠄⠄⠄⢀⣴⣿⣿⣿⡿⠿⠿⠿⠿⢿⣷⡹⣿⣿⣿⣿⣿⣿⣷⠄⠄⠄⠄⠄]],
- [[⠄⠄⠄⠄⠄⣾⣿⣿⣿⣯⣵⣾⣿⣿⡶⠦⠭⢁⠩⢭⣭⣵⣶⣶⡬⣄⣀⡀⠄⠄]],
- [[⠄⠄⠄⡀⠘⠻⣿⣿⣿⣿⡿⠟⠩⠶⠚⠻⠟⠳⢶⣮⢫⣥⠶⠒⠒⠒⠒⠆⠐⠒]],
- [[⠄⢠⣾⢇⣿⣿⣶⣦⢠⠰⡕⢤⠆⠄⠰⢠⢠⠄⠰⢠⠠⠄⡀⠄⢊⢯⠄⡅⠂⠄]],
- [[⢠⣿⣿⣿⣿⣿⣿⣿⣏⠘⢼⠬⠆⠄⢘⠨⢐⠄⢘⠈⣼⡄⠄⠄⡢⡲⠄⠂⠠⠄]],
- [[⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣥⣀⡁⠄⠘⠘⠘⢀⣠⣾⣿⢿⣦⣁⠙⠃⠄⠃⠐⣀]],
- [[⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣋⣵⣾⣿⣿⣿⣿⣦⣀⣶⣾⣿⣿⡉⠉⠉]],
- [[⣿⣿⣿⣿⣿⣿⣿⠟⣫⣥⣬⣭⣛⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠄]],
- [[⣿⣿⣿⣿⣿⣿⣿⠸⣿⣏⣙⠿⣿⣿⣶⣦⣍⣙⠿⠿⠿⠿⠿⠿⠿⠿⣛⣩⣶⠄]],
- [[⣛⣛⣛⠿⠿⣿⣿⣿⣮⣙⠿⢿⣶⣶⣭⣭⣛⣛⣛⣛⠛⠛⠻⣛⣛⣛⣛⣋⠁⢀]],
- [[⣿⣿⣿⣿⣿⣶⣬⢙⡻⠿⠿⣷⣤⣝⣛⣛⣛⣛⣛⣛⣛⣛⠛⠛⣛⣛⠛⣡⣴⣿]],
- [[⣛⣛⠛⠛⠛⣛⡑⡿⢻⢻⠲⢆⢹⣿⣿⣿⣿⣿⣿⠿⠿⠟⡴⢻⢋⠻⣟⠈⠿⠿]],
- [[⣿⡿⡿⣿⢷⢤⠄⡔⡘⣃⢃⢰⡦⡤⡤⢤⢤⢤⠒⠞⠳⢸⠃⡆⢸⠄⠟⠸⠛⢿]],
- [[⡟⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠁⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⢸]],
- },
- {
- [[⠄⠄⠄⠄⠄⠄⠄⠄⠄⣾⣿⣿⣿⣿⡄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄]],
- [[⠄⠄⠄⠄⠄⠄⠄⠄⣼⣿⣿⣿⣿⣿⣿⣧⠄⠄⠄⠄⠄⣀⣀⠄⠄⠄⠄⠄⠄⠄]],
- [[⠄⠄⠄⠄⠄⠄⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣧⠄⠄⠄⣾⠛⠛⣷⢀⣾⠟⠻⣦⠄]],
- [[⠄⠄⠄⠄⠄⠄⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀⠄⠄⢰⡿⠋⠄⠄⣠⡾⠋⠄]],
- [[⠄⠄⠄⠄⠄⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡄⠄⣬⡄⠄⠄⠄⣭⡅⠄⠄]],
- [[⠄⠄⠄⠄⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠄⠄⠄⠄⠄⠄⠄⠄⠄]],
- [[⠄⠄⠄⠄⢛⣛⣛⣛⣛⣛⣛⣛⣛⡛⢋⣉⣭⣭⣥⣬⣤⣤⣀⠄⠄⠄⠄⠄⠄⠄]],
- [[⠄⠄⣴⣵⣿⣟⡉⣥⣶⣶⠶⠶⠬⣉⡂⠹⣟⡫⠽⠟⢒⣒⠒⠆⠄⠄⠄⠄⠄⠄]],
- [[⠄⣼⣿⣿⣿⣿⣿⣶⣭⣃⡈⠄⠄⠘⠃⡰⢶⣶⣿⠏⠄⠄⠙⡛⠄⠄⠄⠄⠄⠄]],
- [[⢰⣿⣿⣿⣿⣿⣿⣿⣯⣉⣉⣩⣭⣶⣿⡿⠶⠶⠶⠶⠶⠾⣋⠄⠄⠄⠄⠄⠄⠄]],
- [[⢾⣿⣿⣿⣿⣿⣿⣿⢩⣶⣒⠒⠶⢖⣒⣚⡛⠭⠭⠭⠍⠉⠁⠄⠄⠄⣀⣀⡀⠄]],
- [[⠘⢿⣿⣿⣿⣿⣿⣿⣧⣬⣭⣭⣭⣤⡤⠤⠶⠟⣋⣀⣀⡀⢀⣤⣾⠟⠋⠈⢳⠄]],
- [[⣴⣦⡒⠬⠭⣭⣭⣭⣙⣛⠋⠭⡍⠁⠈⠙⠛⠛⠛⠛⢻⠛⠉⢻⠁⠄⠄⠄⢸⡀]],
- [[⣿⣿⣿⣿⣷⣦⣤⠤⢬⢍⣼⣦⡾⠛⠄⠄⠄⠄⠄⠄⠈⡇⠄⢸⠄⠄⠄⢦⣄⣇]],
- [[⣿⣿⡿⣋⣭⣭⣶⣿⣶⣿⣿⣿⠟⠛⠃⠄⠄⠄⠄⠄⢠⠃⠄⡜⠄⠄⠄⠔⣿⣿]],
- },
- {
- [[⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠔⠊⠉⠉⠉⠉⠉⠐⢦⡄⠄⠄⠄⠄⠄⠄⠄⠄]],
- [[⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⡐⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠘⣆⠄⠄⠄⠄⠄⠄⠄]],
- [[⠄⠄⠄⠄⠄⠄⠄⠄⢀⠖⠁⢀⣾⣆⡰⠶⡷⠶⣀⣾⣄⠄⠈⣆⠄⠄⠄⠄⠄⠄]],
- [[⠄⠄⡄⠄⠠⢤⣤⠔⠃⠄⠄⠄⠄⠘⢧⣤⢣⣤⠋⠄⠄⠄⠄⠈⠣⢤⡠⠄⠄⠄]],
- [[⠄⠄⠘⠦⡀⠄⠄⠄⠄⠄⠄⠄⢻⡟⠻⣿⣿⡿⠻⡟⠃⠄⠄⠄⠄⠄⠄⠄⡀⠞]],
- [[⠄⠄⠄⠄⠉⢢⡀⠄⠄⠄⠄⠄⠄⠄⠄⠄⠁⠄⠄⠄⠄⠄⠄⠄⠄⠄⡠⠊⠄⠄]],
- [[⠄⠄⠄⠄⠄⠄⠈⠢⣤⣤⣴⣶⡶⢶⣶⣶⣶⣆⢒⣤⣤⠄⢠⠤⠤⠚⠄⠄⠄⠄]],
- [[⠄⠄⠄⠄⠄⢀⣠⣾⣿⣿⣿⣿⣎⢻⣿⠁⡀⣿⡎⣿⣿⣀⣃⠧⡀⠄⠄⠄⠄⠄]],
- [[⠄⠄⣠⣶⣾⣿⣿⣿⣿⣿⣿⣿⡹⡼⢿⣠⠵⠿⣑⢿⣟⣛⠤⣩⡁⠄⠄⠄⠄⠄]],
- [[⢠⣿⣿⣿⢏⡜⡻⣷⡽⣿⣷⣭⣿⣮⣽⣯⣽⣿⣿⣷⣤⣾⡿⠟⠃⠄⠄⠄⠄⠄]],
- [[⠻⣿⣿⣿⣌⢷⣙⠾⠯⣒⡿⠭⣝⣛⣛⣛⣛⠛⠭⠭⠟⢣⠌⠄⠄⠄⠄⠄⠄⠄]],
- [[⠄⠻⣿⣿⣿⣮⣟⠷⣦⣤⣝⣛⠲⠶⠶⠒⢂⣀⠠⠄⠐⠁⠄⠄⠄⠄⠄⠄⠄⠄]],
- [[⠄⠄⠄⠙⠿⠿⢿⣿⡷⠶⠭⠭⠭⠵⠶⠒⠋⠉⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄]],
- },
- {
- [[⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿]],
- [[⣿⣿⣿⣿⣿⣿⣿⠛⢩⣴⣶⣶⣶⣌⠙⠫⠛⢋⣭⣤⣤⣤⣤⡙⣿⣿⣿⣿⣿⣿]],
- [[⣿⣿⣿⣿⣿⡟⢡⣾⣿⠿⣛⣛⣛⣛⣛⡳⠆⢻⣿⣿⣿⠿⠿⠷⡌⠻⣿⣿⣿⣿]],
- [[⣿⣿⣿⣿⠏⣰⣿⣿⣴⣿⣿⣿⡿⠟⠛⠛⠒⠄⢶⣶⣶⣾⡿⠶⠒⠲⠌⢻⣿⣿]],
- [[⣿⣿⠏⣡⢨⣝⡻⠿⣿⢛⣩⡵⠞⡫⠭⠭⣭⠭⠤⠈⠭⠒⣒⠩⠭⠭⣍⠒⠈⠛]],
- [[⡿⢁⣾⣿⣸⣿⣿⣷⣬⡉⠁⠄⠁⠄⠄⠄⠄⠄⠄⠄⣶⠄⠄⠄⠄⠄⠄⠄⠄⢀]],
- [[⢡⣾⣿⣿⣿⣿⣿⣿⣿⣧⡀⠄⠄⠄⠄⠄⠄⠄⢀⣠⣿⣦⣤⣀⣀⣀⣀⠄⣤⣾]],
- [[⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣶⡶⢇⣰⣿⣿⣟⠿⠿⠿⠿⠟⠁⣾⣿⣿]],
- [[⣿⣿⣿⣿⣿⣿⣿⡟⢛⡛⠿⠿⣿⣧⣶⣶⣿⣿⣿⣿⣿⣷⣼⣿⣿⣿⣧⠸⣿⣿]],
- [[⠘⢿⣿⣿⣿⣿⣿⡇⢿⡿⠿⠦⣤⣈⣙⡛⠿⠿⠿⣿⣿⣿⣿⠿⠿⠟⠛⡀⢻⣿]],
- [[⠄⠄⠉⠻⢿⣿⣿⣷⣬⣙⠳⠶⢶⣤⣍⣙⡛⠓⠒⠶⠶⠶⠶⠖⢒⣛⣛⠁⣾⣿]],
- [[⠄⠄⠄⠄⠄⠈⠛⠛⠿⠿⣿⣷⣤⣤⣈⣉⣛⣛⣛⡛⠛⠛⠿⠿⠿⠟⢋⣼⣿⣿]],
- [[⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠈⠉⠉⣻⣿⣿⣿⣿⡿⠿⠛⠃⠄⠙⠛⠿⢿⣿]],
- [[⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⢬⣭⣭⡶⠖⣢⣦⣀⠄⠄⠄⠄⢀⣤⣾⣿]],
- [[⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⢰⣶⣶⣶⣾⣿⣿⣿⣿⣷⡄⠄⢠⣾⣿⣿⣿]],
- },
-}
-
--- dynamic header padding
-local fn = vim.fn
-local marginTopPercent = 0.2
-local Padding = fn.max { 2, fn.floor(fn.winheight(0) * marginTopPercent) }
-
-local header = {
- type = "text",
- val = pepe[math.random(#pepe)],
- opts = {
- position = "center",
- hl = "AlphaAscii",
- },
-}
-
-local plugins = require('lazy').stats().count
-local date = os.date("%d/%m/%y(%a)%X")
-
-math.randomseed(os.time())
-local id = math.random(10000000, 99999999)
-local id1 = math.random(10000000, 99999999)
-local id2 = math.random(10000000, 99999999)
-
-local chan = {
- [[based!!!]],
- [[in other words, 4chan is better because
- everyone gets to be an idiot.]],
- [[NOOOOOOO YOU CAN’T PUBLISH BENCHMARKS FOR
- OUR ANCIENT OS]],
- [[This is the beginning of the end. AI has
- finally won. Tech is no longer a viable job.]],
- [[And Wikipedia is bloat because of html,
- mathml, rich text, etc. Using modern codecs
- and a simpler form of wiki we could store
- the entire "human knowledge-base" and plain
- text references (books, papers, articles,
- websites) inside a single μSD card]],
- [[My arch install broke again]],
- [[Why are stdout, stderr and stdin already
- opened when I start my program? Who opened
- them and what is he doing in my computer?]],
- [[YES BOYCOTT!
- SPREAD THIS MESSAGE
- EVERYONE QUIT USING THE SITE, THEY CANNOT
- IGNORE US ANYMORE. FROM THIS DAY ONWARDS
- THEIR PRODUCT WILL NOT BE ABLE TO HOLD UP
- WITHOUT US]],
- [[COMPANY A BETTER THAN COMPANY B]],
- [[Nah, ignore this anon. If you want to
- REALLY learn programming, you need to
- learn with punch cards. Once you've
- got that under your belt, move on
- up to assembly.]],
-}
-local phrase = chan[math.random(#chan)]
-
-local heading = {
- type = "text",
- val = "  Anonymous " .. date .. " No." .. id .. " ",
- opts = {
- position = "center",
- hl = "AlphaButtons",
- },
-}
-
-local post_buttons = {
- type = "text",
- val = "They don't get it. For me, it's nvim. ",
- opts = {
- position = "center",
- hl = "AlphaFooter",
- },
-}
-
-local pre_foot = {
- type = "text",
- val = ">>" .. id2 .. "(OP) ",
- opts = {
- position = "center",
- hl = "AlphaEmphasis",
- },
-}
-
-local footer = {
- type = "text",
- val = " I've " .. plugins .. " plugins, it launches instantly kek.",
- opts = {
- position = "center",
- hl = "AlphaFooter",
- },
-}
-
-local pre_foot_2 = {
- type = "text",
- val = ">>" .. id1 .. " ",
- opts = {
- position = "center",
- hl = "AlphaEmphasis",
- },
-}
-
-local footer_2 = {
- type = "text",
- val = " " .. phrase,
- opts = {
- position = "left",
- hl = "AlphaFooter",
- },
-}
-
-local function button(sc, txt, keybind)
- local sc_ = sc:gsub("%s", ""):gsub("SPC", "<leader>")
-
- local opts = {
- position = "center",
- text = txt,
- shortcut = sc,
- cursor = 0,
- width = 44,
- align_shortcut = "right",
- hl_shortcut = "AlphaShortcuts",
- hl = "AlphaHeader",
- }
- if keybind then
- opts.keymap = { "n", sc_, keybind, { noremap = true, silent = true } }
- end
-
- return {
- type = "button",
- val = txt,
- on_press = function()
- local key = vim.api.nvim_replace_termcodes(sc_, true, false, true)
- vim.api.nvim_feedkeys(key, "normal", false)
- end,
- opts = opts,
- }
-end
-
-local buttons = {
- type = "group",
- val = {
- button("LDR e", " >open new file", ":ene<CR>"),
- button("LDR h", " >open oldfiles", ":Telescope oldfiles<CR>"),
- button("LDR f", " >fuzzy search", ":Telescope find_files<CR>"),
- button("LDR y", " >browse folders" , ":Telescope file_browser path=%:p:h<CR>"),
- button("LDR /", " >regex search", ":Telescope live_grep<CR>"),
- button("LDR u", " >update plugins", ":lua require('lazy').update()<CR>"),
- },
- opts = {
- spacing = 0,
- },
-}
-
-local section = {
- header = header,
- buttons = buttons,
- heading = heading,
- post_buttons = post_buttons,
- pre_foot = pre_foot,
- footer = footer,
- pre_foot_2 = pre_foot_2,
- footer_2 = footer_2,
-}
-
-local opts = {
- layout = {
- { type = "padding", val = Padding},
- { type = "padding", val = 1 },
- section.header,
- { type = "padding", val = 1 },
- section.heading,
- { type = "padding", val = 1 },
- section.buttons,
- section.post_buttons,
- { type = "padding", val = 1 },
- section.pre_foot,
- section.footer,
- { type = "padding", val = 1 },
- section.pre_foot_2,
- section.footer_2,
- { type = "padding", val = Padding },
- },
- opts = {
- margin = 50,
- },
-}
-alpha.setup(opts)
diff --git a/lua/core/overrides/cmpluasnipchoice.lua b/lua/core/overrides/cmpluasnipchoice.lua
deleted file mode 100644
index 52aa759..0000000
--- a/lua/core/overrides/cmpluasnipchoice.lua
+++ /dev/null
@@ -1,3 +0,0 @@
-require('cmp_luasnip_choice').setup {
- auto_open = true,
-}
diff --git a/lua/core/overrides/hover.lua b/lua/core/overrides/hover.lua
deleted file mode 100644
index 9e8a684..0000000
--- a/lua/core/overrides/hover.lua
+++ /dev/null
@@ -1,18 +0,0 @@
-require("hover").setup {
- init = function()
- -- Require providers
- require("hover.providers.lsp")
- -- require('hover.providers.gh')
- -- require('hover.providers.gh_user')
- -- require('hover.providers.jira')
- require('hover.providers.man')
- require('hover.providers.dictionary')
- end,
- preview_opts = {
- border = 'single'
- },
- -- Whether the contents of a currently open hover window should be moved
- -- to a :h preview-window when pressing the hover keymap.
- preview_window = true,
- title = true
-}
diff --git a/lua/core/overrides/indentblankline.lua b/lua/core/overrides/indentblankline.lua
deleted file mode 100644
index 0e43c22..0000000
--- a/lua/core/overrides/indentblankline.lua
+++ /dev/null
@@ -1,22 +0,0 @@
-if copts.tablines == 'colored' then
- require("indent_blankline").setup {
- space_char_blankline = ' ',
- char_highlight_list = {
- 'IndentBlanklineIndent1',
- 'IndentBlanklineIndent2',
- 'IndentBlanklineIndent3',
- 'IndentBlanklineIndent4',
- 'IndentBlanklineIndent5',
- 'IndentBlanklineIndent6',
- },
- }
-elseif copts.tablines == 'wrap' then
- o.list = true
- require('indent_blankline').setup {
- space_char_blankline = ' ',
- show_current_context = true,
- show_current_context_start = true,
- }
-else
- g.indent_blankline_char = ' '
-end
diff --git a/lua/core/overrides/init.lua b/lua/core/overrides/init.lua
deleted file mode 100644
index 34df01f..0000000
--- a/lua/core/overrides/init.lua
+++ /dev/null
@@ -1,24 +0,0 @@
-require('core.overrides.indentblankline')
-require('core.overrides.lualine')
-require('core.overrides.telescope')
-require('core.overrides.modicator')
-require('core.overrides.neorg')
-require('core.overrides.whichkey')
-require('core.overrides.neoclip')
-require('core.overrides.smartsplits')
-require('core.overrides.treesitter')
-require('core.overrides.treesj')
-require('core.overrides.colorizer')
-require('core.overrides.trouble')
-require('core.overrides.lspzero')
-require('core.overrides.cmp')
-require('core.overrides.snip')
-require('core.overrides.lspkind')
-require('core.overrides.cmpluasnipchoice')
-require('core.overrides.truezen')
-require('core.overrides.alpha')
-require('core.overrides.notify')
-require('core.overrides.hover')
-require('core.overrides.scrollbar')
-require('core.overrides.toggleterm')
-require('core.overrides.sfm')
diff --git a/lua/core/overrides/lspkind.lua b/lua/core/overrides/lspkind.lua
deleted file mode 100644
index f2f11d5..0000000
--- a/lua/core/overrides/lspkind.lua
+++ /dev/null
@@ -1 +0,0 @@
-require('lspkind').init()
diff --git a/lua/core/overrides/lspzero.lua b/lua/core/overrides/lspzero.lua
deleted file mode 100644
index 108e566..0000000
--- a/lua/core/overrides/lspzero.lua
+++ /dev/null
@@ -1,17 +0,0 @@
-local lsp = require('lsp-zero')
-lsp.set_preferences {
- suggest_lsp_servers = true,
- setup_servers_on_start = true,
- set_lsp_keymaps = true,
- configure_diagnostics = true,
- cmp_capabilities = true,
- manage_nvim_cmp = false,
- call_servers = 'local',
- sign_icons = {
- error = 'x',
- warn = '!',
- hint = '?',
- info = 'i'
- }
-}
-lsp.setup()
diff --git a/lua/core/overrides/lualine.lua b/lua/core/overrides/lualine.lua
deleted file mode 100644
index ef5bc75..0000000
--- a/lua/core/overrides/lualine.lua
+++ /dev/null
@@ -1,145 +0,0 @@
-local custom = require'lualine.themes.auto'
-
-custom.normal = {
- a = { fg = colors.black, bg = colors.blue, gui = 'bold' },
- b = { fg = colors.black, bg = colors.grey, gui = 'bold' },
- c = { fg = colors.white, bg = colors.grey },
- x = {},
- y = { fg = colors.blue, bg = colors.black2 },
- z = { fg = colors.black2, bg = colors.blue, gui = 'bold' },
-}
-custom.insert = {
- a = { fg = colors.black, bg = colors.green, gui = 'bold' },
- b = { fg = colors.black, bg = colors.grey, gui = 'bold' },
- c = { fg = colors.white, bg = colors.grey },
- x = {},
- y = { fg = colors.green, bg = colors.black2 },
- z = { fg = colors.black2, bg = colors.green, gui = 'bold' },
-}
-custom.replace = {
- a = { fg = colors.black, bg = colors.orange, gui = 'bold' },
- b = { fg = colors.black, bg = colors.grey, gui = 'bold' },
- c = { fg = colors.white, bg = colors.grey },
- x = {},
- y = { fg = colors.orange, bg = colors.black2 },
- z = { fg = colors.black2, bg = colors.orange, gui = 'bold' },
-}
-custom.visual = {
- a = { fg = colors.black, bg = colors.purple, gui = 'bold' },
- b = { fg = colors.black, bg = colors.grey, gui = 'bold' },
- c = { fg = colors.white, bg = colors.grey },
- x = {},
- y = { fg = colors.purple, bg = colors.black2 },
- z = { fg = colors.black2, bg = colors.purple, gui = 'bold' },
-}
-custom.command = {
- a = { fg = colors.black, bg = colors.red, gui = 'bold' },
- b = { fg = colors.black, bg = colors.grey, gui = 'bold' },
- c = { fg = colors.white, bg = colors.grey },
- x = {},
- y = { fg = colors.red, bg = colors.black2 },
- z = { fg = colors.black2, bg = colors.red, gui = 'bold' },
-}
-custom.terminal = {
- a = { fg = colors.black, bg = colors.yellow, gui = 'bold' },
- b = { fg = colors.black, bg = colors.grey, gui = 'bold' },
- c = { fg = colors.white, bg = colors.grey },
- x = {},
- y = { fg = colors.yellow, bg = colors.black2 },
- z = { fg = colors.black2, bg = colors.yellow, gui = 'bold' },
-}
-custom.inactive = {
- a = { bg = colors.black2 },
- b = { bg = colors.black2 },
- c = { bg = colors.black2 },
- x = { bg = colors.black2 },
- y = { bg = colors.black2 },
- z = { bg = colors.black2 },
-}
-
-local function diff_source()
- local gitsigns = vim.b.gitsigns_status_dict
- if gitsigns then
- return {
- added = gitsigns.added,
- modified = gitsigns.changed,
- removed = gitsigns.removed
- }
- end
-end
-
-local function maximize_status()
- return require("true-zen.focus").running and '[M]' or '[]='
-end
-
-require('lualine').setup {
- options = {
- icons_enabled = false,
- component_separators = { left = '', right = '' },
- section_separators = { left = '', right = '' },
- disabled_filetypes = {
- statusline = {
- 'no-neck-pain',
- 'alpha',
- 'TelescopePrompt',
- },
- winbar = {},
- },
- theme = custom,
- always_divide_middle = false,
- globalstatus = true,
- refresh = {
- statusline = 500,
- tabline = 1000,
- winbar = 1000,
- }
- },
- sections = {
- lualine_a = {
- { 'mode' },
- { 'filetype',
- color = { fg = colors.white, bg = colors.grey },
- },
- { 'filename',
- filestatus = true,
- path = 0,
-
- symbols = {
- modified = '[+]',
- readonly = '[=]',
- unnamed = 'No Name',
- newfile = '[New]',
- }
- }
- },
- lualine_b = {
- { 'diff',
- source = diff_source,
- },
- { 'diagnostics',
- sources = {'nvim_diagnostic', 'nvim_lsp'},
- sections = {'error', 'warn', 'info', 'hint'},
- diagnostics_color = {
- error = 'DiagnosticError',
- warn = 'DiagnosticWarn',
- info = 'DiagnosticInfo',
- hint = 'DiagnosticHint',
- },
- symbols = {error = '[x]', warn = '[!]', info = '[i]', hint = '[?]'},
- }
- },
- lualine_c = {},
- lualine_x = {
- { 'fileformat',
- color = { gui = 'bold' }
- }
- },
- lualine_y = {
- { maximize_status },
- },
- lualine_z = { 'progress' }
- },
- inactive_sections = {
- lualine_x = {'location'},
- },
-}
diff --git a/lua/core/overrides/modicator.lua b/lua/core/overrides/modicator.lua
deleted file mode 100644
index dc978de..0000000
--- a/lua/core/overrides/modicator.lua
+++ /dev/null
@@ -1,18 +0,0 @@
-require('modicator').setup({
- show_warnings = true,
- highlights = {
- defaults = {
- bold = true,
- },
- modes = {
- ['i'] = { foreground = colors.green, },
- ['v'] = { foreground = colors.purple, },
- ['V'] = { foreground = colors.purple, },
- [''] = { foreground = colors.purple, },
- ['s'] = { foreground = colors.purple, },
- ['S'] = { foreground = colors.yellow, },
- ['R'] = { foreground = colors.orange, },
- ['c'] = { foreground = colors.red, },
- },
- },
-})
diff --git a/lua/core/overrides/neoclip.lua b/lua/core/overrides/neoclip.lua
deleted file mode 100644
index a41877d..0000000
--- a/lua/core/overrides/neoclip.lua
+++ /dev/null
@@ -1,9 +0,0 @@
-require('neoclip').setup {
- keys = {
- telescope = {
- i = {
- paste_behind = ' '
- },
- },
- },
-}
diff --git a/lua/core/overrides/neorg.lua b/lua/core/overrides/neorg.lua
deleted file mode 100644
index dc6df57..0000000
--- a/lua/core/overrides/neorg.lua
+++ /dev/null
@@ -1,18 +0,0 @@
-require('neorg').setup {
- load = {
- ['core.defaults'] = {},
- ['core.norg.concealer'] = {
- config = {
- dim_code_blocks = {
- width = 'content',
- padding = { right = 2, },
- },
- folds = false,
- }
- },
- ['core.norg.completion'] = {
- config = { engine = 'nvim-cmp', }
- },
- ['core.integrations.nvim-cmp'] = {},
- }
-}
diff --git a/lua/core/overrides/notify.lua b/lua/core/overrides/notify.lua
deleted file mode 100644
index f816d86..0000000
--- a/lua/core/overrides/notify.lua
+++ /dev/null
@@ -1,14 +0,0 @@
-require('notify').setup(
- {
- icons = {
- DEBUG = "B",
- ERROR = "x",
- INFO = "i",
- TRACE = "t",
- WARN = "!"
- },
- minimum_width = 35,
- max_width = 80,
- render = "compact",
- }
-)
diff --git a/lua/core/overrides/scrollbar.lua b/lua/core/overrides/scrollbar.lua
deleted file mode 100644
index dbce04f..0000000
--- a/lua/core/overrides/scrollbar.lua
+++ /dev/null
@@ -1,29 +0,0 @@
-require("scrollbar").setup({
- show = true,
- show_in_active_only = true,
- handle = {
- color = colors.bg_highlight,
- },
- marks = {
- Search = { color = colors.pink },
- Error = { color = colors.red },
- Warn = { color = colors.orange },
- Info = { color = colors.blue },
- Hint = { color = colors.grey2 },
- Misc = { color = colors.purple },
- },
- excluded_buftypes = {
- "terminal",
- },
- excluded_filetypes = {
- "prompt",
- "TelescopePrompt",
- "noice",
- "alpha",
- "sfm",
- },
- handlers = {
- diagnostic = true,
- gitsigns = true,
- }
-})
diff --git a/lua/core/overrides/smartsplits.lua b/lua/core/overrides/smartsplits.lua
deleted file mode 100644
index 5e677ab..0000000
--- a/lua/core/overrides/smartsplits.lua
+++ /dev/null
@@ -1,7 +0,0 @@
-require('smart-splits').setup {
- resize_mode = {
- hooks = {
- on_leave = require('bufresize').register
- },
- },
-}
diff --git a/lua/core/overrides/toggleterm.lua b/lua/core/overrides/toggleterm.lua
deleted file mode 100644
index 4f5f598..0000000
--- a/lua/core/overrides/toggleterm.lua
+++ /dev/null
@@ -1,19 +0,0 @@
-require('toggleterm').setup {
- shade_terminals = true,
-}
-
-local Terminal = require('toggleterm.terminal').Terminal
-local glow = Terminal:new({
- cmd = "glow",
- hidden = true,
- direction = "float",
- float_opts = {
- border = "shadow",
- width = 120,
- height = 50,
- }
-})
-
-function _glow()
- glow:toggle()
-end
diff --git a/lua/core/overrides/treesitter.lua b/lua/core/overrides/treesitter.lua
deleted file mode 100644
index e74af0d..0000000
--- a/lua/core/overrides/treesitter.lua
+++ /dev/null
@@ -1,15 +0,0 @@
-require('nvim-treesitter.configs').setup {
- ensure_installed = {
- 'help',
- 'c',
- 'lua',
- 'norg',
- 'bash',
- 'html',
- 'make',
- },
- highlight = {
- enable = true,
- additional_vim_regex_highlighting = false,
- },
-}
diff --git a/lua/core/overrides/treesj.lua b/lua/core/overrides/treesj.lua
deleted file mode 100644
index dc618de..0000000
--- a/lua/core/overrides/treesj.lua
+++ /dev/null
@@ -1,3 +0,0 @@
-require('treesj').setup({
- use_default_keymaps = false,
-})
diff --git a/lua/core/overrides/truezen.lua b/lua/core/overrides/truezen.lua
deleted file mode 100644
index 4132a6a..0000000
--- a/lua/core/overrides/truezen.lua
+++ /dev/null
@@ -1,13 +0,0 @@
-require('true-zen').setup {
- modes = {
- ataraxis = { -- normal zen
- minimum_writing_area = { -- minimum size of main window
- width = 120,
- height = 44,
- },
- },
- narrow = {
- folds_style = "invisible",
- },
- },
-}
diff --git a/lua/core/overrides/whichkey.lua b/lua/core/overrides/whichkey.lua
deleted file mode 100644
index 65b6ca4..0000000
--- a/lua/core/overrides/whichkey.lua
+++ /dev/null
@@ -1,8 +0,0 @@
-require("which-key").setup {
- icons = {
- breadcrumb = '>>',
- separator = '->',
- },
- window = { winblend = 3, },
- layout = { align = 'center', },
-}
diff --git a/lua/core/plugins.lua b/lua/core/plugins.lua
index 2844d8a..e15d93b 100644
--- a/lua/core/plugins.lua
+++ b/lua/core/plugins.lua
@@ -1,111 +1,70 @@
--- make sure lazy is installed
-local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
-if not vim.loop.fs_stat(lazypath) then
- if not vim.loop.fs_stat(lazypath) then
- vim.fn.system({ "git", "clone", "--filter=blob:none",
- "https://github.com/folke/lazy.nvim.git", lazypath })
- vim.fn.system({ "git", "-C", lazypath, "checkout", "tags/stable" })
- end
-end
-vim.opt.rtp:prepend(lazypath)
-
-require('lazy').setup{
- { 'tamton-aquib/essentials.nvim' },
+require 'dep' {
+ -- dep manages dep ----------------------------------------------------------
+ { 'squibid/dep',
+ url = 'https://git.squi.bid/dep',
+ branch = 'dev'
+ },
- -- only the most useless plugins (some of these are also ui related)
- { 'goolord/alpha-nvim' },
- { 'petertriho/nvim-scrollbar' },
- { 'alec-gibson/nvim-tetris' },
- { 'kwakzalver/duckytype.nvim', config = true }, -- like monkey type
- { 'melkster/modicator.nvim' },
- { 'nyngwang/murmur.lua', config = true },
- { 'potamides/pantran.nvim' },
- --
+ -- preformance --------------------------------------------------------------
+ { 'lewis6991/impatient.nvim' },
- -- colorscheme / ui
- { 'metalelf0/jellybeans-nvim',
- dependencies = 'rktjmp/lush.nvim',
- lazy = false,
- priority = 1000,
- },
- { 'nvim-lualine/lualine.nvim' },
- { 'utilyre/barbecue.nvim',
- version = '*',
- dependencies = {
- 'SmiteshP/nvim-navic',
- },
- config = true,
- },
- { 'lukas-reineke/indent-blankline.nvim' },
- { 'lewis6991/gitsigns.nvim', config = true, },
- { 'chentoast/marks.nvim', config = true, },
- { 'folke/which-key.nvim' },
- { 'mrjones2014/smart-splits.nvim',
- dependencies = { 'kwkarlwang/bufresize.nvim', config = true, },
+ -- ui -----------------------------------------------------------------------
+ { 'kvrohit/mellow.nvim' }, -- colorscheme
+ { 'lukas-reineke/indent-blankline.nvim' }, -- indentation indicators
+ { 'folke/which-key.nvim' }, -- key map help
+ { 'rcarriga/nvim-notify' }, -- notifications
+ { 'tjdevries/express_line.nvim', -- status bar
+ requires = 'nvim-lua/plenary.nvim',
},
- { 'rcarriga/nvim-notify' },
- { 'CosmicNvim/cosmic-ui',
- dependencies = { 'MunifTanjim/nui.nvim' },
- config = true,
+ { 'alvarosevilla95/luatab.nvim' }, -- tabline
+ { 'goolord/alpha-nvim' }, -- start page
+ { 'dinhhuy258/sfm.nvim', -- tree view
+ requires = 'dinhhuy258/sfm-git.nvim',
},
- { 'dinhhuy258/sfm.nvim',
- dependencies = { 'dinhhuy258/sfm-git.nvim' }
- },
- --
+ { 'mrjones2014/smart-splits.nvim'}, -- buffer resizing
+ { 'axieax/urlview.nvim' }, -- view urls in current buffer
+ { 'matbme/JABS.nvim' }, -- buffer switcher
+ { 'ziontee113/icon-picker.nvim' }, -- icons
+ { 'petertriho/nvim-scrollbar' },
- -- careful the following plugins might be considered useful proceed with caution
- -- muh fzf
+ -- functional plugins -------------------------------------------------------
+ { 'lewis6991/gitsigns.nvim' },
+ { 'chentoast/marks.nvim' },
+ { 'pta2002/intellitab.nvim' },
+ { 'mbbill/undotree' }, -- careful this one is written in vimscript
+ { 'windwp/nvim-autopairs' },
+ { 'numToStr/Comment.nvim' },
+ { 'jghauser/mkdir.nvim' }, -- mkdir's when they dont exist
+ { 'numtostr/BufOnly.nvim' }, -- kill the other buffers with :BufOnly
+ { 'ahmedkhalf/project.nvim' }, -- cd into root of project
+ { 'akinsho/toggleterm.nvim' },
+
+ -- note taking --------------------------------------------------------------
+ { 'nvim-neorg/neorg' },
+
+ -- fzf ----------------------------------------------------------------------
{ 'nvim-telescope/telescope.nvim',
- version = '0.1.*',
- dependencies = {
+ requires = 'nvim-lua/plenary.nvim',
+ deps = {
'nvim-telescope/telescope-file-browser.nvim',
'nvim-telescope/telescope-ui-select.nvim',
- 'nvim-lua/plenary.nvim',
- 'debugloop/telescope-undo.nvim',
'AckslD/nvim-neoclip.lua',
}
},
- --
-
- -- movement
- { 'pta2002/intellitab.nvim' },
- --
-
- -- debugging
- { 'numToStr/Comment.nvim', config = true, },
- { 'folke/trouble.nvim' },
- { 'folke/todo-comments.nvim', config = true, },
- { 'akinsho/toggleterm.nvim', version = '*' },
- --
- -- project stuff
- { 'sindrets/diffview.nvim', config = true, },
- { 'notjedi/nvim-rooter.lua', config = true, },
- --
-
- -- notes
- { 'jbyuki/venn.nvim' },
- { 'nvim-neorg/neorg',
- version = '*',
- ft = 'norg',
- build = ':Neorg sync-parsers',
- },
- { 'loqusion/true-zen.nvim' },
- { 'Pocco81/high-str.nvim' },
- --
-
- -- cmp, lsp and syntax
+ -- treesitter + colorizing --------------------------------------------------
{ 'nvim-treesitter/nvim-treesitter',
- dependencies = {
- { 'm-demare/hlargs.nvim', config = true },
- 'Wansmer/treesj',
+ deps = {
+ { 'm-demare/hlargs.nvim' },
+ { 'Wansmer/treesj' },
+ { 'nvim-treesitter/nvim-treesitter-context' },
}
},
- { 'lewis6991/hover.nvim' },
- { 'nvchad/nvim-colorizer.lua' },
- { 'VonHeikemen/lsp-zero.nvim' },
+ { 'NvChad/nvim-colorizer.lua' },
+
+ -- cmp ----------------------------------------------------------------------
{ 'hrsh7th/nvim-cmp',
- dependencies = {
+ deps = {
'hrsh7th/cmp-buffer',
'hrsh7th/cmp-path',
'hrsh7th/cmp-calc',
@@ -116,14 +75,35 @@ require('lazy').setup{
'onsails/lspkind.nvim',
},
},
+ { 'ray-x/lsp_signature.nvim' },
+
+ -- snippets -----------------------------------------------------------------
{ 'L3MON4D3/LuaSnip',
- version = 'v1.*',
- dependencies = 'rafamadriz/friendly-snippets',
+ deps = 'rafamadriz/friendly-snippets',
},
{ 'doxnit/cmp-luasnip-choice' },
+
+ -- lsp ----------------------------------------------------------------------
{ 'neovim/nvim-lspconfig' },
- { 'williamboman/mason.nvim' },
- { 'williamboman/mason-lspconfig.nvim' },
- { 'windwp/nvim-autopairs', config = true, },
- --
+ { 'j-hui/fidget.nvim' }, -- shows lsp progress
+ { 'folke/trouble.nvim' },
+
+ -- optional language specific lsp's
+ -- { 'mfussenegger/nvim-jdtls' },
+
+ -- dap ----------------------------------------------------------------------
+ { 'mfussenegger/nvim-dap',
+ deps = {
+ 'rcarriga/nvim-dap-ui',
+ }
+ },
+
+ -- dap + lsp + linter + formatter installer ---------------------------------
+ { 'williamboman/mason.nvim',
+ deps = {
+ { 'WhoIsSethDaniel/mason-tool-installer.nvim' },
+ { 'williamboman/mason-lspconfig.nvim' },
+ { 'jay-babu/mason-nvim-dap.nvim' },
+ },
+ },
}
diff --git a/lua/core/snippets/c.lua b/lua/snippet/c.lua
index c45f556..c45f556 100644
--- a/lua/core/snippets/c.lua
+++ b/lua/snippet/c.lua
diff --git a/lua/core/snippets/lua.lua b/lua/snippet/lua.lua
index c5466ff..c5466ff 100644
--- a/lua/core/snippets/lua.lua
+++ b/lua/snippet/lua.lua
diff --git a/lua/core/snippets/makefile.lua b/lua/snippet/makefile.lua
index d15ef8d..d15ef8d 100644
--- a/lua/core/snippets/makefile.lua
+++ b/lua/snippet/makefile.lua
diff --git a/lua/core/snippets/init.lua b/lua/snippet/shorthands.lua
index a7824e2..05453bd 100644
--- a/lua/core/snippets/init.lua
+++ b/lua/snippet/shorthands.lua
@@ -29,7 +29,3 @@ parse = require("luasnip.util.parser").parse_snippet
ri = function (insert_node_id)
return f(function (args) return args[1][1] end, insert_node_id)
end
-
-require('core.snippets.c')
-require('core.snippets.makefile')
-require('core.snippets.lua')
diff --git a/pics/alpha.png b/pics/alpha.png
deleted file mode 100644
index 8f30ffb..0000000
--- a/pics/alpha.png
+++ /dev/null
Binary files differ
diff --git a/pics/editing-c.png b/pics/editing-c.png
deleted file mode 100644
index 0ae4190..0000000
--- a/pics/editing-c.png
+++ /dev/null
Binary files differ
diff --git a/spell/en.utf-8.add.spl b/spell/en.utf-8.add.spl
new file mode 100644
index 0000000..b35e474
--- /dev/null
+++ b/spell/en.utf-8.add.spl
Binary files differ