many changes
This commit is contained in:
parent
98edb6027f
commit
949f566661
@ -11,6 +11,7 @@ require "user.cmp"
|
||||
require "user.colorizer"
|
||||
require "user.comment"
|
||||
require "user.dressing"
|
||||
require "user.dial"
|
||||
require "user.fidget"
|
||||
require "user.functions"
|
||||
require "user.gitsigns"
|
||||
@ -34,3 +35,5 @@ require "user.bufferline"
|
||||
require "user.winbar"
|
||||
require "user.zk"
|
||||
require "user.tabout"
|
||||
require "user.cybu"
|
||||
require "user.dap"
|
||||
|
||||
@ -20,8 +20,8 @@ map("n", "<C-p>", '"+y', opts)
|
||||
map("n", "<C-s>", ":w<CR>", opts)
|
||||
|
||||
-- Switch between buffers
|
||||
map("n", "<S-l>", ":bnext<CR>", opts)
|
||||
map("n", "<S-h>", ":bprevious<CR>", opts)
|
||||
map("n", "<S-l>", ":CybuNext<CR>", opts)
|
||||
map("n", "<S-h>", ":CybuPrev<CR>", opts)
|
||||
|
||||
-- Show definition
|
||||
map("n", "<S-k>", ":lua vim.lsp.buf.hover()<CR>", opts)
|
||||
|
||||
@ -14,7 +14,6 @@ M.capabilities = cmp_nvim_lsp.update_capabilities(M.capabilities)
|
||||
M.setup = function()
|
||||
local icons = require "user.icons"
|
||||
local signs = {
|
||||
|
||||
{ name = "DiagnosticSignError", text = icons.diagnostics.Error },
|
||||
{ name = "DiagnosticSignWarn", text = icons.diagnostics.Warning },
|
||||
{ name = "DiagnosticSignHint", text = icons.diagnostics.Hint },
|
||||
@ -22,7 +21,9 @@ M.setup = function()
|
||||
}
|
||||
|
||||
for _, sign in ipairs(signs) do
|
||||
vim.fn.sign_define(sign.name, { texthl = sign.name, text = sign.text, numhl = "" })
|
||||
vim.fn.sign_define(sign.name, {
|
||||
texthl = sign.name, text = sign.text, numhl = ""
|
||||
})
|
||||
end
|
||||
|
||||
local config = {
|
||||
@ -62,13 +63,15 @@ M.setup = function()
|
||||
|
||||
vim.diagnostic.config(config)
|
||||
|
||||
vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, {
|
||||
vim.lsp.handlers["textDocument/hover"] =
|
||||
vim.lsp.with(vim.lsp.handlers.hover, {
|
||||
border = "rounded",
|
||||
-- width = 60,
|
||||
-- height = 30,
|
||||
})
|
||||
|
||||
vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with(vim.lsp.handlers.signature_help, {
|
||||
vim.lsp.handlers["textDocument/signatureHelp"] =
|
||||
vim.lsp.with(vim.lsp.handlers.signature_help, {
|
||||
border = "rounded",
|
||||
-- width = 60,
|
||||
-- height = 30,
|
||||
@ -93,7 +96,6 @@ local function lsp_keymaps(bufnr)
|
||||
-- vim.api.nvim_buf_set_keymap(bufnr, "n", "gI", "<cmd>Telescope lsp_implementations<CR>", opts)
|
||||
-- vim.api.nvim_buf_set_keymap(bufnr, "n", "gr", "<cmd>Telescope lsp_references<CR>", opts)
|
||||
-- vim.api.nvim_buf_set_keymap(bufnr, "n", "gl", "<cmd>lua vim.diagnostic.open_float()<CR>", opts)
|
||||
-- vim.cmd [[ command! Format execute 'lua vim.lsp.buf.format({ async = true })' ]]
|
||||
-- vim.api.nvim_buf_set_keymap(bufnr, "n", "gs", "<cmd>lua vim.lsp.buf.signature_help()<CR>", opts)
|
||||
-- vim.api.nvim_buf_set_keymap(bufnr, "n", "<M-f>", "<cmd>Format<cr>", opts)
|
||||
-- vim.api.nvim_buf_set_keymap(bufnr, "n", "<M-a>", "<cmd>lua vim.lsp.buf.code_action()<cr>", opts)
|
||||
@ -104,6 +106,7 @@ local function lsp_keymaps(bufnr)
|
||||
-- vim.api.nvim_buf_set_keymap(bufnr, "n", "[d", '<cmd>lua vim.diagnostic.goto_prev({ border = "rounded" })<CR>', opts)
|
||||
-- vim.api.nvim_buf_set_keymap(bufnr, "n", "]d", '<cmd>lua vim.diagnostic.goto_next({ border = "rounded" })<CR>', opts)
|
||||
-- vim.api.nvim_buf_set_keymap(bufnr, "n", "<leader>q", "<cmd>lua vim.diagnostic.setloclist()<CR>", opts)
|
||||
-- vim.cmd [[ command! Format execute 'lua vim.lsp.buf.format({ async = true })' ]]
|
||||
end
|
||||
|
||||
M.on_attach = function(client, bufnr)
|
||||
|
||||
@ -8,10 +8,9 @@ end
|
||||
|
||||
-- may add signature in future.
|
||||
-- require "user.lsp.lsp-signature"
|
||||
require("user.lsp.mason")
|
||||
require("user.lsp.handlers").setup()
|
||||
-- may add null-ls in future.
|
||||
-- require "user.lsp.null-ls"
|
||||
require "user.lsp.mason"
|
||||
require "user.lsp.handlers".setup()
|
||||
require "user.lsp.null-ls"
|
||||
|
||||
local l_status_ok, lsp_lines = pcall(require, "lsp_lines")
|
||||
if not l_status_ok then
|
||||
|
||||
@ -1,152 +1,143 @@
|
||||
local status_ok, mason = pcall(require, "mason")
|
||||
if not status_ok then
|
||||
return
|
||||
return
|
||||
end
|
||||
|
||||
local status_ok_1, mason_lspconfig = pcall(require, "mason-lspconfig")
|
||||
if not status_ok_1 then
|
||||
return
|
||||
return
|
||||
end
|
||||
|
||||
local servers = {
|
||||
"cssls",
|
||||
"cssmodules_ls",
|
||||
"emmet_ls",
|
||||
"html",
|
||||
"jdtls",
|
||||
"solc",
|
||||
"solidity_ls",
|
||||
"sumneko_lua",
|
||||
"omnisharp",
|
||||
"tflint",
|
||||
"terraformls",
|
||||
"tsserver",
|
||||
"pyright",
|
||||
"yamlls",
|
||||
"bashls",
|
||||
"clangd",
|
||||
"rust_analyzer",
|
||||
"taplo",
|
||||
"zk@v0.10.1",
|
||||
"lemminx",
|
||||
"clangd"
|
||||
"cssls",
|
||||
"cssmodules_ls",
|
||||
"emmet_ls",
|
||||
"html",
|
||||
"jdtls",
|
||||
"solc",
|
||||
"solidity_ls",
|
||||
"sumneko_lua",
|
||||
"omnisharp",
|
||||
"tflint",
|
||||
"terraformls",
|
||||
"tsserver",
|
||||
"pyright",
|
||||
"yamlls",
|
||||
"bashls",
|
||||
"clangd",
|
||||
"rust_analyzer",
|
||||
"taplo",
|
||||
"zk@v0.10.1",
|
||||
"lemminx",
|
||||
"clangd",
|
||||
}
|
||||
|
||||
local settings = {
|
||||
ui = {
|
||||
border = "rounded",
|
||||
icons = {
|
||||
package_installed = "◍",
|
||||
package_pending = "◍",
|
||||
package_uninstalled = "◍",
|
||||
},
|
||||
},
|
||||
log_level = vim.log.levels.INFO,
|
||||
max_concurrent_installers = 4,
|
||||
ui = {
|
||||
border = "rounded",
|
||||
icons = {
|
||||
package_installed = "◍",
|
||||
package_pending = "◍",
|
||||
package_uninstalled = "◍",
|
||||
},
|
||||
},
|
||||
log_level = vim.log.levels.INFO,
|
||||
max_concurrent_installers = 4,
|
||||
}
|
||||
|
||||
mason.setup(settings)
|
||||
mason_lspconfig.setup {
|
||||
ensure_installed = servers,
|
||||
automatic_installation = true,
|
||||
}
|
||||
mason_lspconfig.setup({
|
||||
ensure_installed = servers,
|
||||
automatic_installation = true,
|
||||
})
|
||||
|
||||
local lspconfig_status_ok, lspconfig = pcall(require, "lspconfig")
|
||||
if not lspconfig_status_ok then
|
||||
print "lspconfig error!"
|
||||
return
|
||||
print("lspconfig error!")
|
||||
return
|
||||
end
|
||||
|
||||
local opts = {}
|
||||
|
||||
for _, server in pairs(servers) do
|
||||
opts = {
|
||||
on_attach = require("user.lsp.handlers").on_attach,
|
||||
capabilities = require("user.lsp.handlers").capabilities,
|
||||
}
|
||||
opts = {
|
||||
on_attach = require("user.lsp.handlers").on_attach,
|
||||
capabilities = require("user.lsp.handlers").capabilities,
|
||||
}
|
||||
|
||||
server = vim.split(server, "@")[1]
|
||||
server = vim.split(server, "@")[1]
|
||||
|
||||
if server == "yamlls" then
|
||||
local yamlls_opts = require "user.lsp.settings.yamlls"
|
||||
opts = vim.tbl_deep_extend("force", yamlls_opts, opts)
|
||||
end
|
||||
if server == "yamlls" then
|
||||
local yamlls_opts = require("user.lsp.settings.yamlls")
|
||||
opts = vim.tbl_deep_extend("force", yamlls_opts, opts)
|
||||
end
|
||||
|
||||
if server == "sumneko_lua" then
|
||||
local l_status_ok, lua_dev = pcall(require, "lua-dev")
|
||||
if not l_status_ok then
|
||||
return
|
||||
end
|
||||
-- local sumneko_opts = require "user.lsp.settings.sumneko_lua"
|
||||
-- opts = vim.tbl_deep_extend("force", sumneko_opts, opts)
|
||||
-- opts = vim.tbl_deep_extend("force", require("lua-dev").setup(), opts)
|
||||
local luadev = lua_dev.setup {
|
||||
-- -- add any options here, or leave empty to use the default settings
|
||||
-- lspconfig = opts,
|
||||
lspconfig = {
|
||||
on_attach = opts.on_attach,
|
||||
capabilities = opts.capabilities,
|
||||
-- -- settings = opts.settings,
|
||||
},
|
||||
}
|
||||
lspconfig.sumneko_lua.setup(luadev)
|
||||
goto continue
|
||||
end
|
||||
if server == "sumneko_lua" then
|
||||
local l_status_ok, lua_dev = pcall(require, "lua-dev")
|
||||
if not l_status_ok then
|
||||
return
|
||||
end
|
||||
local luadev = lua_dev.setup({
|
||||
lspconfig = {
|
||||
on_attach = opts.on_attach,
|
||||
capabilities = opts.capabilities,
|
||||
},
|
||||
})
|
||||
lspconfig.sumneko_lua.setup(luadev)
|
||||
goto continue
|
||||
end
|
||||
|
||||
if server == "tsserver" then
|
||||
local tsserver_opts = require "user.lsp.settings.tsserver"
|
||||
opts = vim.tbl_deep_extend("force", tsserver_opts, opts)
|
||||
end
|
||||
if server == "tsserver" then
|
||||
local tsserver_opts = require("user.lsp.settings.tsserver")
|
||||
opts = vim.tbl_deep_extend("force", tsserver_opts, opts)
|
||||
end
|
||||
|
||||
if server == "pyright" then
|
||||
local pyright_opts = require "user.lsp.settings.pyright"
|
||||
opts = vim.tbl_deep_extend("force", pyright_opts, opts)
|
||||
end
|
||||
if server == "pyright" then
|
||||
local pyright_opts = require("user.lsp.settings.pyright")
|
||||
opts = vim.tbl_deep_extend("force", pyright_opts, opts)
|
||||
end
|
||||
|
||||
if server == "solc" then
|
||||
local solc_opts = require "user.lsp.settings.solc"
|
||||
opts = vim.tbl_deep_extend("force", solc_opts, opts)
|
||||
end
|
||||
if server == "solc" then
|
||||
local solc_opts = require("user.lsp.settings.solc")
|
||||
opts = vim.tbl_deep_extend("force", solc_opts, opts)
|
||||
end
|
||||
|
||||
if server == "clangd" then
|
||||
local clangd_opts = require "user.lsp.settings.clangd"
|
||||
opts = vim.tbl_deep_extend("force", clangd_opts, opts)
|
||||
end
|
||||
if server == "clangd" then
|
||||
local clangd_opts = require("user.lsp.settings.clangd")
|
||||
opts = vim.tbl_deep_extend("force", clangd_opts, opts)
|
||||
end
|
||||
|
||||
if server == "emmet_ls" then
|
||||
local emmet_ls_opts = require "user.lsp.settings.emmet_ls"
|
||||
opts = vim.tbl_deep_extend("force", emmet_ls_opts, opts)
|
||||
end
|
||||
if server == "emmet_ls" then
|
||||
local emmet_ls_opts = require("user.lsp.settings.emmet_ls")
|
||||
opts = vim.tbl_deep_extend("force", emmet_ls_opts, opts)
|
||||
end
|
||||
|
||||
if server == "zk" then
|
||||
local zk_opts = require "user.lsp.settings.zk"
|
||||
opts = vim.tbl_deep_extend("force", zk_opts, opts)
|
||||
end
|
||||
if server == "zk" then
|
||||
local zk_opts = require("user.lsp.settings.zk")
|
||||
opts = vim.tbl_deep_extend("force", zk_opts, opts)
|
||||
end
|
||||
|
||||
if server == "jdtls" then
|
||||
goto continue
|
||||
end
|
||||
if server == "jdtls" then
|
||||
goto continue
|
||||
end
|
||||
|
||||
if server == "rust_analyzer" then
|
||||
local rust_opts = require "user.lsp.settings.rust"
|
||||
-- opts = vim.tbl_deep_extend("force", rust_opts, opts)
|
||||
local rust_tools_status_ok, rust_tools = pcall(require, "rust-tools")
|
||||
if not rust_tools_status_ok then
|
||||
return
|
||||
end
|
||||
if server == "rust_analyzer" then
|
||||
local rust_opts = require("user.lsp.settings.rust")
|
||||
-- opts = vim.tbl_deep_extend("force", rust_opts, opts)
|
||||
local rust_tools_status_ok, rust_tools = pcall(require, "rust-tools")
|
||||
if not rust_tools_status_ok then
|
||||
return
|
||||
end
|
||||
|
||||
rust_tools.setup(rust_opts)
|
||||
goto continue
|
||||
end
|
||||
rust_tools.setup(rust_opts)
|
||||
goto continue
|
||||
end
|
||||
|
||||
if server == "omnisharp" then
|
||||
local omnisharp_opts = require "user.lsp.settings.omnisharp"
|
||||
opts = vim.tbl_deep_extend("force", omnisharp_opts, opts)
|
||||
end
|
||||
if server == "omnisharp" then
|
||||
local omnisharp_opts = require("user.lsp.settings.omnisharp")
|
||||
opts = vim.tbl_deep_extend("force", omnisharp_opts, opts)
|
||||
end
|
||||
|
||||
lspconfig[server].setup(opts)
|
||||
::continue::
|
||||
lspconfig[server].setup(opts)
|
||||
::continue::
|
||||
end
|
||||
|
||||
-- TODO: add something to installer later
|
||||
-- require("lspconfig").motoko.setup {}
|
||||
|
||||
@ -1,11 +1,38 @@
|
||||
-- local pid = vim.fn.getpid()
|
||||
-- local omnisharp_bin = "/home/josh/.local/share/nvim/lsp_servers/omnisharp/omnisharp/OmniSharp.dll"
|
||||
return {
|
||||
cmd = { "omnisharp" },
|
||||
|
||||
return {
|
||||
-- cmd = { omnisharp_bin, "--languageserver" , "--hostPID", tostring(pid) },
|
||||
omnisharp = {
|
||||
useModernNet = true,
|
||||
semanticHighlighting = false,
|
||||
-- monoPath = "/usr/bin/mono"
|
||||
}
|
||||
-- Enables support for reading code style, naming convention and analyzer
|
||||
-- settings from .editorconfig.
|
||||
enable_editorconfig_support = true,
|
||||
|
||||
-- If true, MSBuild project system will only load projects for files that
|
||||
-- were opened in the editor. This setting is useful for big C# codebases
|
||||
-- and allows for faster initialization of code navigation features only
|
||||
-- for projects that are relevant to code that is being edited. With this
|
||||
-- setting enabled OmniSharp may load fewer projects and may thus display
|
||||
-- incomplete reference lists for symbols.
|
||||
enable_ms_build_load_projects_on_demand = false,
|
||||
|
||||
-- Enables support for roslyn analyzers, code fixes and rulesets.
|
||||
enable_roslyn_analyzers = true,
|
||||
|
||||
-- Specifies whether 'using' directives should be grouped and sorted during
|
||||
-- document formatting.
|
||||
organize_imports_on_format = false,
|
||||
|
||||
-- Enables support for showing unimported types and unimported extension
|
||||
-- methods in completion lists. When committed, the appropriate using
|
||||
-- directive will be added at the top of the current file. This option can
|
||||
-- have a negative impact on initial completion responsiveness,
|
||||
-- particularly for the first few completion sessions after opening a
|
||||
-- solution.
|
||||
enable_import_completion = false,
|
||||
|
||||
-- Specifies whether to include preview versions of the .NET SDK when
|
||||
-- determining which version to use for project loading.
|
||||
sdk_include_prereleases = true,
|
||||
|
||||
-- Only run analyzers against open files when 'enableRoslynAnalyzers' is
|
||||
-- true
|
||||
analyze_open_documents_only = false,
|
||||
}
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
local options = {
|
||||
backup = false, -- creates a backup file
|
||||
clipboard = "unnamedplus", -- gives nvim access to clipboard
|
||||
-- clipboard = "unnamedplus", -- gives nvim access to clipboard
|
||||
cmdheight = 1, -- more space in nvim cmd line
|
||||
completeopt = { "menuone", "noselect" }, -- cmp related
|
||||
conceallevel = 0, -- don't hide `` in md
|
||||
@ -37,6 +37,7 @@ local options = {
|
||||
sidescrolloff = 8,
|
||||
guifont = "monospace:h17",
|
||||
title = true,
|
||||
spelllang = "en_us",
|
||||
}
|
||||
|
||||
vim.opt.fillchars = vim.opt.fillchars + 'eob: '
|
||||
@ -50,3 +51,15 @@ end
|
||||
vim.cmd "set whichwrap+=<,>,[,],h,l"
|
||||
vim.cmd "set colorcolumn=80"
|
||||
vim.cmd [[set iskeyword+=-]]
|
||||
|
||||
vim.g.gutentags_generate_on_new = 1
|
||||
vim.g.gutentags_generate_on_write = 1
|
||||
vim.g.gutentags_generate_on_missing = 1
|
||||
vim.g.gutentags_generate_on_empty_buffer = 0
|
||||
|
||||
-- Disable snipmate plugins to avoid duplicate snippets
|
||||
vim.g.UltiSnipsEnableSnipMate = 0
|
||||
vim.g.UltiSnipsRemoveSelectModeMappings = 0
|
||||
vim.g.UltiSnipsExpandTrigger = "<Tab>"
|
||||
vim.g.UltiSnipsJumpForwardTrigger = "<Tab>"
|
||||
vim.g.UltiSnipsJumpBackwardTrigger = "<S-Tab>"
|
||||
|
||||
@ -1,164 +1,172 @@
|
||||
local fn = vim.fn
|
||||
|
||||
-- Automatically install packer
|
||||
local install_path = fn.stdpath "data" .. "/site/pack/packer/start/packer.nvim"
|
||||
local install_path = fn.stdpath("data") .. "/site/pack/packer/start/packer.nvim"
|
||||
if fn.empty(fn.glob(install_path)) > 0 then
|
||||
PACKER_BOOTSTRAP = fn.system {
|
||||
"git",
|
||||
"clone",
|
||||
"--depth",
|
||||
"1",
|
||||
"https://github.com/wbthomason/packer.nvim",
|
||||
install_path,
|
||||
}
|
||||
print "Installing packer, please close and reopen Neovim..."
|
||||
vim.cmd [[packadd packer.nvim]]
|
||||
PACKER_BOOTSTRAP = fn.system({
|
||||
"git",
|
||||
"clone",
|
||||
"--depth",
|
||||
"1",
|
||||
"https://github.com/wbthomason/packer.nvim",
|
||||
install_path,
|
||||
})
|
||||
print("Installing packer, please close and reopen Neovim...")
|
||||
vim.cmd([[packadd packer.nvim]])
|
||||
end
|
||||
|
||||
-- Autocommand to reload neovime whenever this file is saved.
|
||||
vim.cmd [[
|
||||
vim.cmd([[
|
||||
augroup packer_user_config
|
||||
autocmd!
|
||||
autocmd BufWritePost plugins.lua source <afile> | PackerSync
|
||||
augroup end
|
||||
]]
|
||||
]])
|
||||
|
||||
-- use a protected call so there's no error on first use
|
||||
local s_ok, packer = pcall(require, "packer")
|
||||
if not s_ok then
|
||||
return
|
||||
return
|
||||
end
|
||||
|
||||
-- Have packer use a popup
|
||||
packer.init {
|
||||
max_jobs = 50,
|
||||
display = {
|
||||
open_fn = function()
|
||||
return require("packer.util").float { border = "rounded" }
|
||||
end,
|
||||
prompt_border = "rounded"
|
||||
},
|
||||
}
|
||||
packer.init({
|
||||
max_jobs = 50,
|
||||
display = {
|
||||
open_fn = function()
|
||||
return require("packer.util").float({ border = "rounded" })
|
||||
end,
|
||||
prompt_border = "rounded",
|
||||
},
|
||||
})
|
||||
|
||||
-- Add plugins from here
|
||||
return packer.startup(function(use)
|
||||
-- Plugin manager
|
||||
use "wbthomason/packer.nvim" -- Have packer manage inself
|
||||
|
||||
-- Lua Development
|
||||
use "nvim-lua/plenary.nvim" -- useful lua functions
|
||||
use "nvim-lua/popup.nvim"
|
||||
use "folke/lua-dev.nvim"
|
||||
|
||||
-- LSP
|
||||
use "neovim/nvim-lspconfig" -- enable LSP
|
||||
use "williamboman/mason.nvim" -- language server manager/installer
|
||||
use "williamboman/mason-lspconfig.nvim"
|
||||
use "j-hui/fidget.nvim" -- displays lsp progress in bottom right
|
||||
use "SmiteshP/nvim-navic" -- integrates with winbar to show location in program e.g.: MyClass > MyFunc > MyProperty
|
||||
use "simrat39/symbols-outline.nvim" -- class explorer for nvim
|
||||
use "folke/trouble.nvim" -- view lsp diagnostics
|
||||
use "OmniSharp/omnisharp-vim"
|
||||
use "https://git.sr.ht/~whynothugo/lsp_lines.nvim"
|
||||
require('packer').use({
|
||||
'weilbith/nvim-code-action-menu',
|
||||
cmd = 'CodeActionMenu',
|
||||
})
|
||||
|
||||
-- Completion
|
||||
use "hrsh7th/nvim-cmp" -- completion engine
|
||||
use "hrsh7th/cmp-buffer" -- buffer completions
|
||||
use "hrsh7th/cmp-path" -- path completions
|
||||
use "hrsh7th/cmp-nvim-lsp" -- lsp completions
|
||||
use "hrsh7th/cmp-nvim-lua"
|
||||
use "saadparwaiz1/cmp_luasnip" -- snippet completions
|
||||
|
||||
-- Snippet
|
||||
use "L3MON4D3/LuaSnip" -- snippet engine
|
||||
use "rafamadriz/friendly-snippets" -- a collection of useful snippets
|
||||
|
||||
-- Syntax/Treesitter
|
||||
use "nvim-treesitter/nvim-treesitter"
|
||||
use "nvim-treesitter/playground"
|
||||
|
||||
-- CEO of The Startup
|
||||
use "ThePrimeagen/harpoon"
|
||||
|
||||
-- Telescopic Johnston
|
||||
use "nvim-telescope/telescope.nvim"
|
||||
use "nvim-telescope/telescope-media-files.nvim"
|
||||
|
||||
-- Note Taking
|
||||
use "mickael-menu/zk-nvim"
|
||||
|
||||
-- Colour
|
||||
use "NvChad/nvim-colorizer.lua"
|
||||
|
||||
-- Colorschemes
|
||||
use "folke/tokyonight.nvim"
|
||||
use "sainnhe/gruvbox-material"
|
||||
use "sainnhe/sonokai"
|
||||
use "dracula/vim"
|
||||
use "RRethy/nvim-base16"
|
||||
|
||||
-- Utility
|
||||
use "rcarriga/nvim-notify"
|
||||
use "stevearc/dressing.nvim"
|
||||
use "moll/vim-bbye"
|
||||
use "lewis6991/impatient.nvim"
|
||||
|
||||
-- Icons
|
||||
use "kyazdani42/nvim-web-devicons"
|
||||
|
||||
-- Debugging
|
||||
-- Also add later.
|
||||
|
||||
-- Tabline
|
||||
use "akinsho/bufferline.nvim"
|
||||
use "fgheng/winbar.nvim"
|
||||
|
||||
-- Statusline
|
||||
use "nvim-lualine/lualine.nvim"
|
||||
|
||||
-- Startup
|
||||
use "goolord/alpha-nvim"
|
||||
|
||||
-- Indent
|
||||
use "lukas-reineke/indent-blankline.nvim"
|
||||
|
||||
-- File Explorer
|
||||
use "kyazdani42/nvim-tree.lua"
|
||||
|
||||
-- Comments
|
||||
use "numToStr/Comment.nvim"
|
||||
use "folke/todo-comments.nvim"
|
||||
|
||||
-- Terminal
|
||||
use "akinsho/toggleterm.nvim"
|
||||
|
||||
-- Git
|
||||
use "lewis6991/gitsigns.nvim"
|
||||
use "f-person/git-blame.nvim"
|
||||
|
||||
-- Editing Support
|
||||
use "windwp/nvim-autopairs"
|
||||
use "vimwiki/vimwiki"
|
||||
use "folke/zen-mode.nvim"
|
||||
use "junegunn/vim-slash"
|
||||
use "andymass/vim-matchup"
|
||||
use "nacro90/numb.nvim"
|
||||
use "monaqa/dial.nvim"
|
||||
use {
|
||||
"abecodes/tabout.nvim",
|
||||
wants = { "nvim-treesitter" }
|
||||
}
|
||||
use "windwp/nvim-spectre"
|
||||
|
||||
-- Keybinding
|
||||
use "folke/which-key.nvim"
|
||||
-- Plugin manager
|
||||
use("wbthomason/packer.nvim") -- Have packer manage inself
|
||||
|
||||
-- Automatically setup after cloning packer.nvim
|
||||
if PACKER_BOOTSTRAP then
|
||||
require("packer").sync()
|
||||
end
|
||||
-- Lua Development
|
||||
use("nvim-lua/plenary.nvim") -- useful lua functions
|
||||
use("nvim-lua/popup.nvim")
|
||||
use("folke/lua-dev.nvim")
|
||||
|
||||
-- LSP
|
||||
use("neovim/nvim-lspconfig") -- enable LSP
|
||||
use("williamboman/mason.nvim") -- language server manager/installer
|
||||
use("williamboman/mason-lspconfig.nvim")
|
||||
use("j-hui/fidget.nvim") -- displays lsp progress in bottom right
|
||||
use("SmiteshP/nvim-navic") -- integrates with winbar to show location in program e.g.: MyClass > MyFunc > MyProperty
|
||||
use("simrat39/symbols-outline.nvim") -- class explorer for nvim
|
||||
use("folke/trouble.nvim") -- view lsp diagnostics
|
||||
-- use "OmniSharp/omnisharp-vim"
|
||||
use("https://git.sr.ht/~whynothugo/lsp_lines.nvim")
|
||||
use({
|
||||
"weilbith/nvim-code-action-menu",
|
||||
cmd = "CodeActionMenu",
|
||||
})
|
||||
use("jose-elias-alvarez/null-ls.nvim")
|
||||
|
||||
-- Completion
|
||||
use("hrsh7th/nvim-cmp") -- completion engine
|
||||
use("hrsh7th/cmp-buffer") -- buffer completions
|
||||
use("hrsh7th/cmp-path") -- path completions
|
||||
use("hrsh7th/cmp-nvim-lsp") -- lsp completions
|
||||
use("hrsh7th/cmp-nvim-lua")
|
||||
use("saadparwaiz1/cmp_luasnip") -- snippet completions
|
||||
|
||||
-- LaTeX
|
||||
-- use "SirVer/ultisnips"
|
||||
use("lervag/vimtex")
|
||||
use("ludovicchabant/vim-gutentags")
|
||||
|
||||
-- Snippet
|
||||
use("L3MON4D3/LuaSnip") -- snippet engine
|
||||
use("rafamadriz/friendly-snippets") -- a collection of useful snippets
|
||||
|
||||
-- Syntax/Treesitter
|
||||
use("nvim-treesitter/nvim-treesitter")
|
||||
use("nvim-treesitter/playground")
|
||||
|
||||
-- CEO of The Startup
|
||||
use("ThePrimeagen/harpoon")
|
||||
|
||||
-- Telescopic Johnston
|
||||
use("nvim-telescope/telescope.nvim")
|
||||
use("nvim-telescope/telescope-media-files.nvim")
|
||||
|
||||
-- Note Taking
|
||||
use("mickael-menu/zk-nvim")
|
||||
|
||||
-- Colour
|
||||
use("NvChad/nvim-colorizer.lua")
|
||||
|
||||
-- Colorschemes
|
||||
use("folke/tokyonight.nvim")
|
||||
use("sainnhe/gruvbox-material")
|
||||
use("sainnhe/sonokai")
|
||||
use("dracula/vim")
|
||||
use("RRethy/nvim-base16")
|
||||
|
||||
-- Utility
|
||||
use("rcarriga/nvim-notify")
|
||||
use("stevearc/dressing.nvim")
|
||||
use("moll/vim-bbye")
|
||||
use("lewis6991/impatient.nvim")
|
||||
use("ghillb/cybu.nvim")
|
||||
|
||||
-- Icons
|
||||
use("kyazdani42/nvim-web-devicons")
|
||||
|
||||
-- Debugging
|
||||
use("mfussenegger/nvim-dap")
|
||||
use("rcarriga/nvim-dap-ui")
|
||||
|
||||
-- Tabline
|
||||
use("akinsho/bufferline.nvim")
|
||||
use("fgheng/winbar.nvim")
|
||||
|
||||
-- Statusline
|
||||
use("nvim-lualine/lualine.nvim")
|
||||
|
||||
-- Startup
|
||||
use("goolord/alpha-nvim")
|
||||
|
||||
-- Indent
|
||||
use("lukas-reineke/indent-blankline.nvim")
|
||||
|
||||
-- File Explorer
|
||||
use("kyazdani42/nvim-tree.lua")
|
||||
|
||||
-- Comments
|
||||
use("numToStr/Comment.nvim")
|
||||
use("folke/todo-comments.nvim")
|
||||
|
||||
-- Terminal
|
||||
use("akinsho/toggleterm.nvim")
|
||||
|
||||
-- Git
|
||||
use("lewis6991/gitsigns.nvim")
|
||||
use("f-person/git-blame.nvim")
|
||||
|
||||
-- Editing Support
|
||||
use("windwp/nvim-autopairs")
|
||||
use("vimwiki/vimwiki")
|
||||
use("folke/zen-mode.nvim")
|
||||
use("junegunn/vim-slash")
|
||||
use("andymass/vim-matchup")
|
||||
use("nacro90/numb.nvim")
|
||||
use("monaqa/dial.nvim")
|
||||
use({
|
||||
"abecodes/tabout.nvim",
|
||||
wants = { "nvim-treesitter" },
|
||||
})
|
||||
use("windwp/nvim-spectre")
|
||||
|
||||
-- Keybinding
|
||||
use("folke/which-key.nvim")
|
||||
|
||||
-- Automatically setup after cloning packer.nvim
|
||||
if PACKER_BOOTSTRAP then
|
||||
require("packer").sync()
|
||||
end
|
||||
end)
|
||||
|
||||
@ -90,11 +90,11 @@ local m_mappings = {
|
||||
local mappings = {
|
||||
a = { "<cmd>CodeActionMenu<cr>", "Action" },
|
||||
c = { "<cmd>Bdelete<cr>", "Close Buffer" },
|
||||
C = { "<cmd>w! | !compiler <c-r>%<cr>", "Compile File" },
|
||||
C = { "<cmd>w! | !compiler %<cr>", "Compile File" },
|
||||
h = { "<cmd>split<cr>", "split" },
|
||||
n = { "<cmd>NvimTreeToggle<cr>", "Explorer" },
|
||||
O = { "<cmd>setlocal spell! spellling=en_us<CR>", "Toggle Spelling" },
|
||||
P = { "<cmd>!opout <c-r>%<cr><cr>", "Preview Document" },
|
||||
O = { "<cmd>setlocal spell! spelllang=en_us<CR>", "Toggle Spelling" },
|
||||
P = { "<cmd>!opout %<cr><cr>", "Preview Document" },
|
||||
q = { '<cmd>lua require("user.functions").smart_quit()<CR>', "Quit" },
|
||||
v = { "<cmd>vsplit<cr>", "vsplit" },
|
||||
w = { "<cmd>w<CR>", "Write" },
|
||||
@ -138,19 +138,18 @@ local mappings = {
|
||||
f = { "<cmd>lua require('spectre').open_file_search()<cr>", "Replace Buffer" },
|
||||
},
|
||||
|
||||
-- perhaps I will set this up in the future?
|
||||
-- d = {
|
||||
-- name = "Debug",
|
||||
-- b = { "<cmd>lua require'dap'.toggle_breakpoint()<cr>", "Breakpoint" },
|
||||
-- c = { "<cmd>lua require'dap'.continue()<cr>", "Continue" },
|
||||
-- i = { "<cmd>lua require'dap'.step_into()<cr>", "Into" },
|
||||
-- o = { "<cmd>lua require'dap'.step_over()<cr>", "Over" },
|
||||
-- O = { "<cmd>lua require'dap'.step_out()<cr>", "Out" },
|
||||
-- r = { "<cmd>lua require'dap'.repl.toggle()<cr>", "Repl" },
|
||||
-- l = { "<cmd>lua require'dap'.run_last()<cr>", "Last" },
|
||||
-- u = { "<cmd>lua require'dapui'.toggle()<cr>", "UI" },
|
||||
-- x = { "<cmd>lua require'dap'.terminate()<cr>", "Exit" },
|
||||
-- },
|
||||
d = {
|
||||
name = "Debug",
|
||||
b = { "<cmd>lua require'dap'.toggle_breakpoint()<cr>", "Breakpoint" },
|
||||
c = { "<cmd>lua require'dap'.continue()<cr>", "Continue" },
|
||||
i = { "<cmd>lua require'dap'.step_into()<cr>", "Into" },
|
||||
o = { "<cmd>lua require'dap'.step_over()<cr>", "Over" },
|
||||
O = { "<cmd>lua require'dap'.step_out()<cr>", "Out" },
|
||||
r = { "<cmd>lua require'dap'.repl.toggle()<cr>", "Repl" },
|
||||
l = { "<cmd>lua require'dap'.run_last()<cr>", "Last" },
|
||||
u = { "<cmd>lua require'dapui'.toggle()<cr>", "UI" },
|
||||
x = { "<cmd>lua require'dap'.terminate()<cr>", "Exit" },
|
||||
},
|
||||
|
||||
f = {
|
||||
name = "Find",
|
||||
|
||||
@ -88,6 +88,7 @@ lfcd() {
|
||||
}
|
||||
|
||||
bindkey -s '^o' '^ulfcd\n'
|
||||
bindkey -s '^t' '^utms\n'
|
||||
|
||||
if [ -f /etc/hostname ]; then
|
||||
HOST=$(cat /etc/hostname)
|
||||
|
||||
@ -114,7 +114,7 @@ colorYellow = "#f1fa8c"
|
||||
-- The preferred terminal program, which is used in a binding below and by
|
||||
-- certain contrib modules.
|
||||
myTerminal :: String
|
||||
myTerminal = "alacritty"
|
||||
myTerminal = "st"
|
||||
|
||||
myFileManager :: String
|
||||
myFileManager = "thunar"
|
||||
@ -139,7 +139,7 @@ myClickJustFocuses = False
|
||||
|
||||
-- Width of the window border in pixels.
|
||||
myBorderWidth :: Dimension
|
||||
myBorderWidth = 0
|
||||
myBorderWidth = 2
|
||||
|
||||
-- Border colors for unfocused and focused windows, respectively.
|
||||
myNormalBorderColor :: String
|
||||
@ -547,7 +547,7 @@ myManageHook = composeAll
|
||||
, className =? "slack" --> doShift ( myWorkspaces !! (8-1) )
|
||||
, className =? "Pavucontrol" --> doShift ( myWorkspaces !! (6-1) )
|
||||
, className =? "plexamp" --> doShift ( myWorkspaces !! (6-1) )
|
||||
, className =? "Jellyfin Media Player" --> doShift ( myWorkspaces !! (7-1) )
|
||||
, className =? "Jellyfin Media Player" --> doShift ( myWorkspaces !! (6-1) )
|
||||
, className =? "thunderbird" --> doShift ( myWorkspaces !! (9-1) )
|
||||
]
|
||||
|
||||
|
||||
80
README.md
80
README.md
@ -1,3 +1,79 @@
|
||||
My Dotfiles, managed using the following tutorial:
|
||||
# Inkletblot's Dotfiles
|
||||
|
||||
https://www.atlassian.com/git/tutorials/dotfiles
|
||||
My Dotfiles, managed using (what I call) the [atlassian method](https://www.atlassian.com/git/tutorials/dotfiles).
|
||||
|
||||
Primarily the configs I care about in here are for the following programs.
|
||||
- [neovim](#Neovim)
|
||||
- xmonad
|
||||
- Xmobar
|
||||
- lf
|
||||
- tmux
|
||||
- zsh
|
||||
- system stuff such as xinitrc, shell, xprofile, and more.
|
||||
|
||||
Supporting programs include:
|
||||
- alacritty
|
||||
- dmenu
|
||||
- picom
|
||||
- dunst
|
||||
- fish (I no longer use this)
|
||||
- mutt (this either)
|
||||
- newsboat (or this)
|
||||
|
||||
I have been building up this envirnoment for some time and it is likely to
|
||||
change much in the future.
|
||||
|
||||
### Related works
|
||||
|
||||
I have a few repositories that pair with this one, primarily are both my scripts
|
||||
repo and my dmenu fork. I use dmenu as my run launcher and I have myriad bash
|
||||
scripts to make my linux experience my own. I also dabble with DWM and it's
|
||||
related programs such as st, dwmblocks, and others.
|
||||
|
||||
- [Scripts](https://gitlab.inkletblot.com/inkletblot/inks-scripts)
|
||||
- [dmenu](https://gitlab.inkletblot.com/inkletblot/dmenu-inkletblot)
|
||||
|
||||
Tangentially to all this I have a WIP repo I call ink-os which will set up a
|
||||
fresh install of Arch with all of my default programs, my dotfiles, and other
|
||||
misc configs. It doesn't technically 'work' but it's still easier that a manual
|
||||
setup for me.
|
||||
|
||||
### Credit
|
||||
|
||||
Although I will happily take credit for what I have built here I would like to
|
||||
credit those who inspired me, or who I pilfered directly from:
|
||||
|
||||
- [Luke Smith](https://lukesmith.xyz) for many scripts, mutt, introducing me to vim, and much of my shell config.
|
||||
- [DistroTube (Derek Taylor)](https://distro.tube/index.html) for introducing me to tiling window managers and reigniting my love for linux, also much of my xmonad, xmobar, fish, and alacritty configs were inspired by his.
|
||||
- [ThePrimeagen](https://github.com/ThePrimeagen) for improving my developer workflow, introducing me to tmux (and being a source for my tmux scripts), and being generally a great guy.
|
||||
- [chris@machine (Christian Chiarulli)](https://github.com/ChristianChiarulli), I credit 90% of my neovim config to this man and it's great.
|
||||
- And others such as [TJ Devries](https://github.com/tjdevries/), [Eric Murphy](https://www.youtube.com/c/EricMurphyxyz), [EF Linux Made Simple](https://www.youtube.com/c/EFLinuxMadeSimple/featured), and more.
|
||||
|
||||
## Neovim (nightly)
|
||||
|
||||
Probably the most complicated part of this is my nvim config, I should probably
|
||||
move it to it's own folder at some point.
|
||||
|
||||
It depends on a few different language servers and miscellaneous programs.
|
||||
Including but not limited to:
|
||||
|
||||
- pyright
|
||||
- npm/nodejs
|
||||
- omnisharp-roslyn (and by proxy, dotnet)
|
||||
- pandoc
|
||||
- miktex
|
||||
- mono (Not currently sure about this one, I think I removed it)
|
||||
- git
|
||||
- and more...
|
||||
|
||||
## xmonad
|
||||
|
||||
## xmobar
|
||||
|
||||
## lf
|
||||
|
||||
## tmux
|
||||
|
||||
## zsh
|
||||
|
||||
## system
|
||||
|
||||
Loading…
Reference in New Issue
Block a user