Hack my existing Kickstart mods into this fork
Good enough for now. If I need more, then I'll make more commits!
This commit is contained in:
parent
98ad2ee32a
commit
ab3778d9ac
|
@ -0,0 +1,5 @@
|
||||||
|
local macchiato_line_length = 80
|
||||||
|
if (vim.o.textwidth or 0) > 0 then
|
||||||
|
macchiato_line_length = vim.o.textwidth
|
||||||
|
end
|
||||||
|
vim.opt_local.formatprg = 'black-macchiato -l ' .. macchiato_line_length
|
143
init.lua
143
init.lua
|
@ -1,42 +1,3 @@
|
||||||
--[[
|
|
||||||
|
|
||||||
=====================================================================
|
|
||||||
==================== READ THIS BEFORE CONTINUING ====================
|
|
||||||
=====================================================================
|
|
||||||
|
|
||||||
Kickstart.nvim is *not* a distribution.
|
|
||||||
|
|
||||||
Kickstart.nvim is a template for your own configuration.
|
|
||||||
The goal is that you can read every line of code, top-to-bottom, understand
|
|
||||||
what your configuration is doing, and modify it to suit your needs.
|
|
||||||
|
|
||||||
Once you've done that, you should start exploring, configuring and tinkering to
|
|
||||||
explore Neovim!
|
|
||||||
|
|
||||||
If you don't know anything about Lua, I recommend taking some time to read through
|
|
||||||
a guide. One possible example:
|
|
||||||
- https://learnxinyminutes.com/docs/lua/
|
|
||||||
|
|
||||||
|
|
||||||
And then you can explore or search through `:help lua-guide`
|
|
||||||
- https://neovim.io/doc/user/lua-guide.html
|
|
||||||
|
|
||||||
|
|
||||||
Kickstart Guide:
|
|
||||||
|
|
||||||
I have left several `:help X` comments throughout the init.lua
|
|
||||||
You should run that command and read that help section for more information.
|
|
||||||
|
|
||||||
In addition, I have some `NOTE:` items throughout the file.
|
|
||||||
These are for you, the reader to help understand what is happening. Feel free to delete
|
|
||||||
them once you know what you're doing, but they should serve as a guide for when you
|
|
||||||
are first encountering a few different constructs in your nvim config.
|
|
||||||
|
|
||||||
I hope you enjoy your Neovim journey,
|
|
||||||
- TJ
|
|
||||||
|
|
||||||
P.S. You can delete this when you're done too. It's your config now :)
|
|
||||||
--]]
|
|
||||||
-- Set <space> as the leader key
|
-- Set <space> as the leader key
|
||||||
-- See `:help mapleader`
|
-- See `:help mapleader`
|
||||||
-- NOTE: Must happen before plugins are required (otherwise wrong leader will be used)
|
-- NOTE: Must happen before plugins are required (otherwise wrong leader will be used)
|
||||||
|
@ -132,11 +93,12 @@ require('lazy').setup({
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
-- Theme inspired by Atom
|
-- Theme inspired by VS Code
|
||||||
'navarasu/onedark.nvim',
|
'Mofiqul/vscode.nvim',
|
||||||
priority = 1000,
|
priority = 1000,
|
||||||
config = function()
|
config = function()
|
||||||
vim.cmd.colorscheme 'onedark'
|
vim.cmd.colorscheme 'vscode'
|
||||||
|
vim.o.background = 'light'
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -147,24 +109,13 @@ require('lazy').setup({
|
||||||
opts = {
|
opts = {
|
||||||
options = {
|
options = {
|
||||||
icons_enabled = false,
|
icons_enabled = false,
|
||||||
theme = 'onedark',
|
theme = 'vscode',
|
||||||
component_separators = '|',
|
component_separators = '|',
|
||||||
section_separators = '',
|
section_separators = '',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
|
||||||
-- Add indentation guides even on blank lines
|
|
||||||
'lukas-reineke/indent-blankline.nvim',
|
|
||||||
-- Enable `lukas-reineke/indent-blankline.nvim`
|
|
||||||
-- See `:help indent_blankline.txt`
|
|
||||||
opts = {
|
|
||||||
char = '┊',
|
|
||||||
show_trailing_blankline_indent = false,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
-- "gc" to comment visual regions/lines
|
-- "gc" to comment visual regions/lines
|
||||||
{ 'numToStr/Comment.nvim', opts = {} },
|
{ 'numToStr/Comment.nvim', opts = {} },
|
||||||
|
|
||||||
|
@ -210,7 +161,7 @@ require('lazy').setup({
|
||||||
-- Uncomment the following line and add your plugins to `lua/custom/plugins/*.lua` to get going.
|
-- Uncomment the following line and add your plugins to `lua/custom/plugins/*.lua` to get going.
|
||||||
--
|
--
|
||||||
-- For additional information see: https://github.com/folke/lazy.nvim#-structuring-your-plugins
|
-- For additional information see: https://github.com/folke/lazy.nvim#-structuring-your-plugins
|
||||||
-- { import = 'custom.plugins' },
|
{ import = 'custom.plugins' },
|
||||||
}, {})
|
}, {})
|
||||||
|
|
||||||
-- [[ Setting options ]]
|
-- [[ Setting options ]]
|
||||||
|
@ -223,16 +174,15 @@ vim.o.hlsearch = false
|
||||||
-- Make line numbers default
|
-- Make line numbers default
|
||||||
vim.wo.number = true
|
vim.wo.number = true
|
||||||
|
|
||||||
-- Enable mouse mode
|
-- Disable mouse mode
|
||||||
vim.o.mouse = 'a'
|
vim.o.mouse = ''
|
||||||
|
|
||||||
-- Sync clipboard between OS and Neovim.
|
-- DO NOT sync clipboard between OS and Neovim.
|
||||||
-- Remove this option if you want your OS clipboard to remain independent.
|
|
||||||
-- See `:help 'clipboard'`
|
-- See `:help 'clipboard'`
|
||||||
vim.o.clipboard = 'unnamedplus'
|
vim.o.clipboard = ''
|
||||||
|
|
||||||
-- Enable break indent
|
-- Disable break indent
|
||||||
vim.o.breakindent = true
|
vim.o.breakindent = false
|
||||||
|
|
||||||
-- Save undo history
|
-- Save undo history
|
||||||
vim.o.undofile = true
|
vim.o.undofile = true
|
||||||
|
@ -254,8 +204,23 @@ vim.o.completeopt = 'menuone,noselect'
|
||||||
-- NOTE: You should make sure your terminal supports this
|
-- NOTE: You should make sure your terminal supports this
|
||||||
vim.o.termguicolors = true
|
vim.o.termguicolors = true
|
||||||
|
|
||||||
|
-- Use some fun characters when displaying invisibles
|
||||||
|
vim.opt.listchars = {
|
||||||
|
eol = '↲',
|
||||||
|
space = '⋅',
|
||||||
|
trail = '•',
|
||||||
|
tab = '⇄ ',
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Recognize specific file names as having a certain language's syntax
|
||||||
|
vim.cmd [[
|
||||||
|
autocmd BufNewFile,BufRead Jenkinsfile set syntax=groovy
|
||||||
|
]]
|
||||||
|
|
||||||
-- [[ Basic Keymaps ]]
|
-- [[ Basic Keymaps ]]
|
||||||
|
|
||||||
|
vim.keymap.set('n', '<C-q>', '<cmd>q!<cr>', { noremap = true, silent = true })
|
||||||
|
|
||||||
-- Keymaps for better default experience
|
-- Keymaps for better default experience
|
||||||
-- See `:help vim.keymap.set()`
|
-- See `:help vim.keymap.set()`
|
||||||
vim.keymap.set({ 'n', 'v' }, '<Space>', '<Nop>', { silent = true })
|
vim.keymap.set({ 'n', 'v' }, '<Space>', '<Nop>', { silent = true })
|
||||||
|
@ -313,7 +278,20 @@ vim.keymap.set('n', '<leader>sd', require('telescope.builtin').diagnostics, { de
|
||||||
-- See `:help nvim-treesitter`
|
-- See `:help nvim-treesitter`
|
||||||
require('nvim-treesitter.configs').setup {
|
require('nvim-treesitter.configs').setup {
|
||||||
-- Add languages to be installed here that you want installed for treesitter
|
-- Add languages to be installed here that you want installed for treesitter
|
||||||
ensure_installed = { 'c', 'cpp', 'go', 'lua', 'python', 'rust', 'tsx', 'typescript', 'vimdoc', 'vim' },
|
ensure_installed = {
|
||||||
|
'c',
|
||||||
|
'cpp',
|
||||||
|
'go',
|
||||||
|
'groovy',
|
||||||
|
'java',
|
||||||
|
'lua',
|
||||||
|
'python',
|
||||||
|
'rust',
|
||||||
|
'tsx',
|
||||||
|
'typescript',
|
||||||
|
'vim',
|
||||||
|
'vimdoc',
|
||||||
|
},
|
||||||
|
|
||||||
-- Autoinstall languages that are not installed. Defaults to false (but you can change for yourself!)
|
-- Autoinstall languages that are not installed. Defaults to false (but you can change for yourself!)
|
||||||
auto_install = false,
|
auto_install = false,
|
||||||
|
@ -420,6 +398,19 @@ local on_attach = function(_, bufnr)
|
||||||
print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
|
print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
|
||||||
end, '[W]orkspace [L]ist Folders')
|
end, '[W]orkspace [L]ist Folders')
|
||||||
|
|
||||||
|
-- Don't show diagnostics inline
|
||||||
|
vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(
|
||||||
|
vim.lsp.diagnostic.on_publish_diagnostics, {
|
||||||
|
virtual_text = false
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
-- Show diagnostics for line under the cursor
|
||||||
|
vim.keymap.set('n', '<leader>e', vim.diagnostic.open_float)
|
||||||
|
|
||||||
|
-- Make diagnostics hints more readable with Solarized theme
|
||||||
|
vim.cmd 'hi DiagnosticHint guifg=Gray'
|
||||||
|
|
||||||
-- Create a command `:Format` local to the LSP buffer
|
-- Create a command `:Format` local to the LSP buffer
|
||||||
vim.api.nvim_buf_create_user_command(bufnr, 'Format', function(_)
|
vim.api.nvim_buf_create_user_command(bufnr, 'Format', function(_)
|
||||||
vim.lsp.buf.format()
|
vim.lsp.buf.format()
|
||||||
|
@ -442,12 +433,38 @@ local servers = {
|
||||||
-- tsserver = {},
|
-- tsserver = {},
|
||||||
-- html = { filetypes = { 'html', 'twig', 'hbs'} },
|
-- html = { filetypes = { 'html', 'twig', 'hbs'} },
|
||||||
|
|
||||||
|
bashls = {},
|
||||||
|
groovyls = {},
|
||||||
|
intelephense = {},
|
||||||
|
jdtls = {},
|
||||||
|
jsonls = {},
|
||||||
lua_ls = {
|
lua_ls = {
|
||||||
Lua = {
|
Lua = {
|
||||||
workspace = { checkThirdParty = false },
|
workspace = { checkThirdParty = false },
|
||||||
telemetry = { enable = false },
|
telemetry = { enable = false },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
pyright = {},
|
||||||
|
tsserver = {},
|
||||||
|
yamlls = {
|
||||||
|
yaml = {
|
||||||
|
schemas = {
|
||||||
|
kubernetes = "*.yaml",
|
||||||
|
["http://json.schemastore.org/github-workflow"] = ".github/workflows/*",
|
||||||
|
["http://json.schemastore.org/github-action"] = ".github/action.{yml,yaml}",
|
||||||
|
-- ["http://json.schemastore.org/ansible-stable-2.9"] = "roles/tasks/*.{yml,yaml}",
|
||||||
|
-- ["http://json.schemastore.org/prettierrc"] = ".prettierrc.{yml,yaml}",
|
||||||
|
-- ["http://json.schemastore.org/kustomization"] = "kustomization.{yml,yaml}",
|
||||||
|
-- ["http://json.schemastore.org/ansible-playbook"] = "*play*.{yml,yaml}",
|
||||||
|
-- ["http://json.schemastore.org/chart"] = "Chart.{yml,yaml}",
|
||||||
|
-- ["https://json.schemastore.org/dependabot-v2"] = ".github/dependabot.{yml,yaml}",
|
||||||
|
-- ["https://json.schemastore.org/gitlab-ci"] = "*gitlab-ci*.{yml,yaml}",
|
||||||
|
-- ["https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/schemas/v3.1/schema.json"] = "*api*.{yml,yaml}",
|
||||||
|
-- ["https://raw.githubusercontent.com/compose-spec/compose-spec/master/schema/compose-spec.json"] = "*docker-compose*.{yml,yaml}",
|
||||||
|
-- ["https://raw.githubusercontent.com/argoproj/argo-workflows/master/api/jsonschema/schema.json"] = "*flow*.{yml,yaml}",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
-- Setup neovim lua configuration
|
-- Setup neovim lua configuration
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
return {
|
||||||
|
'preservim/vimux',
|
||||||
|
dependencies = {
|
||||||
|
'vim-test/vim-test',
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
local opts = { noremap = true, silent = true }
|
||||||
|
local keymap = vim.api.nvim_set_keymap
|
||||||
|
keymap('n', '<leader>rb', '<cmd>wall <bar> TestFile<cr>', opts)
|
||||||
|
keymap('n', '<leader>rf', '<cmd>wall <bar> TestNearest<cr>',opts)
|
||||||
|
keymap('n', '<leader>rl', '<cmd>wall <bar> TestLast<cr>', opts)
|
||||||
|
vim.cmd [[ let test#strategy = "vimux" ]]
|
||||||
|
end,
|
||||||
|
}
|
Loading…
Reference in New Issue