Compare commits
19 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d599472675 | |||
| a92db5666a | |||
| 7cedaa233b | |||
| 331d105586 | |||
| cfe498f542 | |||
| 41f01fed2c | |||
| 94dea57868 | |||
| f064b182c9 | |||
| a98ad2e085 | |||
| 6e9435bc75 | |||
| 4bc2f8de91 | |||
| 70533b3bb4 | |||
| 5faf58e79c | |||
| 4648cb1691 | |||
| 375cb89d5f | |||
| 04d02d3417 | |||
| a38736ed22 | |||
| 9375e57331 | |||
| 359c4538c5 |
@ -1,6 +1,6 @@
|
|||||||
# Text style
|
# Text style
|
||||||
adjust-cell-height = 30%
|
adjust-cell-height = 30%
|
||||||
adjust-cell-width = -9%
|
adjust-cell-width = -10%
|
||||||
cursor-style = block
|
cursor-style = block
|
||||||
cursor-style-blink = false
|
cursor-style-blink = false
|
||||||
font-family = Inconsolata Patched G
|
font-family = Inconsolata Patched G
|
||||||
@ -9,22 +9,24 @@ font-synthetic-style = no-bold, no-bold-italic
|
|||||||
|
|
||||||
# Window style
|
# Window style
|
||||||
background-blur = true
|
background-blur = true
|
||||||
background-opacity = 0.9
|
background-opacity = 0.88
|
||||||
theme = dark:catppuccin-mocha.conf, light:catppuccin-latte.conf
|
theme = dark:catppuccin-mocha.conf, light:catppuccin-latte.conf
|
||||||
window-padding-color = extend
|
window-padding-color = extend
|
||||||
window-padding-x = 5,0
|
window-padding-x = 12,0
|
||||||
window-padding-y = 5,0
|
window-padding-y = 12,0
|
||||||
|
|
||||||
# Functionality
|
# Functionality
|
||||||
scrollback-limit = 100000
|
scrollback-limit = 100000000
|
||||||
window-inherit-working-directory = true
|
window-inherit-working-directory = true
|
||||||
copy-on-select = clipboard
|
copy-on-select = clipboard
|
||||||
shell-integration-features = no-cursor
|
shell-integration-features = no-cursor
|
||||||
# Not currently using tmux
|
|
||||||
# command = ~/.config/ghostty/ghostty-tmux
|
|
||||||
|
|
||||||
# macOS-specific settings
|
# macOS-specific settings
|
||||||
alpha-blending = linear
|
alpha-blending = linear
|
||||||
macos-icon = xray
|
macos-icon = xray
|
||||||
macos-titlebar-style = transparent
|
macos-titlebar-style = transparent
|
||||||
keybind = shift+enter=text:\n
|
keybind = shift+enter=text:\n
|
||||||
|
|
||||||
|
# Not currently using tmux
|
||||||
|
# command = ~/.config/ghostty/ghostty-tmux
|
||||||
|
|
||||||
|
|||||||
@ -5,7 +5,7 @@ palette = 3=#f9e2af
|
|||||||
palette = 4=#89b4fa
|
palette = 4=#89b4fa
|
||||||
palette = 5=#f5c2e7
|
palette = 5=#f5c2e7
|
||||||
palette = 6=#94e2d5
|
palette = 6=#94e2d5
|
||||||
palette = 7=#bac2de
|
palette = 7=#a6adc8
|
||||||
palette = 8=#585b70
|
palette = 8=#585b70
|
||||||
palette = 9=#f38ba8
|
palette = 9=#f38ba8
|
||||||
palette = 10=#a6e3a1
|
palette = 10=#a6e3a1
|
||||||
@ -13,10 +13,10 @@ palette = 11=#f9e2af
|
|||||||
palette = 12=#89b4fa
|
palette = 12=#89b4fa
|
||||||
palette = 13=#f5c2e7
|
palette = 13=#f5c2e7
|
||||||
palette = 14=#94e2d5
|
palette = 14=#94e2d5
|
||||||
palette = 15=#a6adc8
|
palette = 15=#bac2de
|
||||||
background = 101018
|
background = 1e1e2e
|
||||||
foreground = cdd6f4
|
foreground = cdd6f4
|
||||||
cursor-color = f5e0dc
|
cursor-color = f5e0dc
|
||||||
cursor-text = 101018
|
cursor-text = 1e1e2e
|
||||||
selection-background = 353749
|
selection-background = 353749
|
||||||
selection-foreground = cdd6f4
|
selection-foreground = cdd6f4
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
|
---
|
||||||
k9s:
|
k9s:
|
||||||
body:
|
body:
|
||||||
fgColor: '#4c4f69'
|
fgColor: '#4c4f69'
|
||||||
@ -64,19 +65,11 @@ k9s:
|
|||||||
bgColor: '#eff1f5'
|
bgColor: '#eff1f5'
|
||||||
chartBgColor: '#eff1f5'
|
chartBgColor: '#eff1f5'
|
||||||
dialBgColor: '#eff1f5'
|
dialBgColor: '#eff1f5'
|
||||||
defaultDialColors:
|
defaultDialColors: ['#40a02b', '#d20f39']
|
||||||
- '#40a02b'
|
defaultChartColors: ['#40a02b', '#d20f39']
|
||||||
- '#d20f39'
|
|
||||||
defaultChartColors:
|
|
||||||
- '#40a02b'
|
|
||||||
- '#d20f39'
|
|
||||||
resourceColors:
|
resourceColors:
|
||||||
cpu:
|
cpu: ['#8839ef', '#1e66f5']
|
||||||
- '#8839ef'
|
mem: ['#df8e1d', '#fe640b']
|
||||||
- '#1e66f5'
|
|
||||||
mem:
|
|
||||||
- '#df8e1d'
|
|
||||||
- '#fe640b'
|
|
||||||
yaml:
|
yaml:
|
||||||
keyColor: '#1e66f5'
|
keyColor: '#1e66f5'
|
||||||
valueColor: '#4c4f69'
|
valueColor: '#4c4f69'
|
||||||
|
|||||||
@ -2,22 +2,22 @@
|
|||||||
k9s:
|
k9s:
|
||||||
body:
|
body:
|
||||||
fgColor: '#cdd6f4'
|
fgColor: '#cdd6f4'
|
||||||
bgColor: '#101018'
|
bgColor: default
|
||||||
logoColor: '#cba6f7'
|
logoColor: '#cba6f7'
|
||||||
prompt:
|
prompt:
|
||||||
fgColor: '#cdd6f4'
|
fgColor: '#cdd6f4'
|
||||||
bgColor: '#181825'
|
bgColor: default
|
||||||
suggestColor: '#89b4fa'
|
suggestColor: '#89b4fa'
|
||||||
help:
|
help:
|
||||||
fgColor: '#cdd6f4'
|
fgColor: '#cdd6f4'
|
||||||
bgColor: '#101018'
|
bgColor: default
|
||||||
sectionColor: '#a6e3a1'
|
sectionColor: '#a6e3a1'
|
||||||
keyColor: '#89b4fa'
|
keyColor: '#89b4fa'
|
||||||
numKeyColor: '#eba0ac'
|
numKeyColor: '#eba0ac'
|
||||||
frame:
|
frame:
|
||||||
title:
|
title:
|
||||||
fgColor: '#94e2d5'
|
fgColor: '#94e2d5'
|
||||||
bgColor: '#101018'
|
bgColor: default
|
||||||
highlightColor: '#f5c2e7'
|
highlightColor: '#f5c2e7'
|
||||||
counterColor: '#f9e2af'
|
counterColor: '#f9e2af'
|
||||||
filterColor: '#a6e3a1'
|
filterColor: '#a6e3a1'
|
||||||
@ -29,8 +29,8 @@ k9s:
|
|||||||
keyColor: '#89b4fa'
|
keyColor: '#89b4fa'
|
||||||
numKeyColor: '#eba0ac'
|
numKeyColor: '#eba0ac'
|
||||||
crumbs:
|
crumbs:
|
||||||
fgColor: '#101018'
|
fgColor: '#1e1e2e'
|
||||||
bgColor: '#eba0ac'
|
bgColor: default
|
||||||
activeColor: '#f2cdcd'
|
activeColor: '#f2cdcd'
|
||||||
status:
|
status:
|
||||||
newColor: '#89b4fa'
|
newColor: '#89b4fa'
|
||||||
@ -47,24 +47,24 @@ k9s:
|
|||||||
views:
|
views:
|
||||||
table:
|
table:
|
||||||
fgColor: '#cdd6f4'
|
fgColor: '#cdd6f4'
|
||||||
bgColor: '#101018'
|
bgColor: default
|
||||||
cursorFgColor: '#313244'
|
cursorFgColor: '#313244'
|
||||||
cursorBgColor: '#45475a'
|
cursorBgColor: '#45475a'
|
||||||
markColor: '#f5e0dc'
|
markColor: '#f5e0dc'
|
||||||
header:
|
header:
|
||||||
fgColor: '#f9e2af'
|
fgColor: '#f9e2af'
|
||||||
bgColor: '#101018'
|
bgColor: default
|
||||||
sorterColor: '#89dceb'
|
sorterColor: '#89dceb'
|
||||||
xray:
|
xray:
|
||||||
fgColor: '#cdd6f4'
|
fgColor: '#cdd6f4'
|
||||||
bgColor: '#101018'
|
bgColor: default
|
||||||
cursorColor: '#45475a'
|
cursorColor: '#45475a'
|
||||||
cursorTextColor: '#101018'
|
cursorTextColor: '#1e1e2e'
|
||||||
graphicColor: '#f5c2e7'
|
graphicColor: '#f5c2e7'
|
||||||
charts:
|
charts:
|
||||||
bgColor: '#101018'
|
bgColor: default
|
||||||
chartBgColor: '#101018'
|
chartBgColor: default
|
||||||
dialBgColor: '#101018'
|
dialBgColor: default
|
||||||
defaultDialColors: ['#a6e3a1', '#f38ba8']
|
defaultDialColors: ['#a6e3a1', '#f38ba8']
|
||||||
defaultChartColors: ['#a6e3a1', '#f38ba8']
|
defaultChartColors: ['#a6e3a1', '#f38ba8']
|
||||||
resourceColors:
|
resourceColors:
|
||||||
@ -76,18 +76,18 @@ k9s:
|
|||||||
colonColor: '#a6adc8'
|
colonColor: '#a6adc8'
|
||||||
logs:
|
logs:
|
||||||
fgColor: '#cdd6f4'
|
fgColor: '#cdd6f4'
|
||||||
bgColor: '#101018'
|
bgColor: default
|
||||||
indicator:
|
indicator:
|
||||||
fgColor: '#b4befe'
|
fgColor: '#b4befe'
|
||||||
bgColor: '#101018'
|
bgColor: default
|
||||||
toggleOnColor: '#a6e3a1'
|
toggleOnColor: '#a6e3a1'
|
||||||
toggleOffColor: '#a6adc8'
|
toggleOffColor: '#a6adc8'
|
||||||
dialog:
|
dialog:
|
||||||
fgColor: '#f9e2af'
|
fgColor: '#f9e2af'
|
||||||
bgColor: '#9399b2'
|
bgColor: default
|
||||||
buttonFgColor: '#101018'
|
buttonFgColor: '#1e1e2e'
|
||||||
buttonBgColor: '#7f849c'
|
buttonBgColor: default
|
||||||
buttonFocusFgColor: '#101018'
|
buttonFocusFgColor: '#1e1e2e'
|
||||||
buttonFocusBgColor: '#f5c2e7'
|
buttonFocusBgColor: '#f5c2e7'
|
||||||
labelFgColor: '#f5e0dc'
|
labelFgColor: '#f5e0dc'
|
||||||
fieldFgColor: '#cdd6f4'
|
fieldFgColor: '#cdd6f4'
|
||||||
|
|||||||
1
mise/.default-python-packages
Normal file
1
mise/.default-python-packages
Normal file
@ -0,0 +1 @@
|
|||||||
|
░
|
||||||
17
mise/config.toml
Normal file
17
mise/config.toml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
[tools]
|
||||||
|
node = "22"
|
||||||
|
ruby = "3"
|
||||||
|
python = "3"
|
||||||
|
java = "openjdk-17.0.2"
|
||||||
|
uv = "latest"
|
||||||
|
|
||||||
|
[tasks]
|
||||||
|
gcloud-login = "gcloud auth application-default login"
|
||||||
|
orm-setup = "python -m pip install keyring keyrings.google-artifactregistry-auth --index-url https://pypi.org/simple/ && python -m pip install orm-cli --index-url https://us-central1-python.pkg.dev/common-build/pypi/simple/"
|
||||||
|
|
||||||
|
[settings]
|
||||||
|
python.uv_venv_auto = true
|
||||||
|
|
||||||
|
# Add the following two lines to a .mise.toml in a project to enable automatic venv creation
|
||||||
|
# [env]
|
||||||
|
# _.python.venv = { path = ".venv", create = true, uv_create_args = ["--system-site-packages"] }
|
||||||
@ -1,29 +1,32 @@
|
|||||||
{
|
{
|
||||||
"avante.nvim": { "branch": "main", "commit": "4e0a8620b68a0de7a0ec67a0a7503863500f6d29" },
|
"avante.nvim": { "branch": "main", "commit": "56951378f10b25f8bb0f5bb516b8d778a1e498a7" },
|
||||||
"barbar.nvim": { "branch": "master", "commit": "53b5a2f34b68875898f0531032fbf090e3952ad7" },
|
"barbar.nvim": { "branch": "master", "commit": "53b5a2f34b68875898f0531032fbf090e3952ad7" },
|
||||||
"blink.cmp": { "branch": "main", "commit": "bae4bae0eedd1fa55f34b685862e94a222d5c6f8" },
|
"blink.cmp": { "branch": "main", "commit": "bae4bae0eedd1fa55f34b685862e94a222d5c6f8" },
|
||||||
"catppuccin": { "branch": "main", "commit": "3aaf3ab60221bca8edb1354e41bd514a22c89de2" },
|
"catppuccin": { "branch": "main", "commit": "30fa4d122d9b22ad8b2e0ab1b533c8c26c4dde86" },
|
||||||
"conform.nvim": { "branch": "master", "commit": "973f3cb73887d510321653044791d7937c7ec0fa" },
|
"conform.nvim": { "branch": "master", "commit": "b4aab989db276993ea5dcb78872be494ce546521" },
|
||||||
"dropbar.nvim": { "branch": "master", "commit": "418897fe7828b2749ca78056ec8d8ad43136b695" },
|
"dropbar.nvim": { "branch": "master", "commit": "3460930700ca67b4590a69ac3f1d65d5f9658fb6" },
|
||||||
"fidget.nvim": { "branch": "main", "commit": "2cb5edb2dd6700a958a446b20bb2be04d318da9d" },
|
"fidget.nvim": { "branch": "main", "commit": "4d5858bd4c471c895060e1b9f3575f1551184dc5" },
|
||||||
"gitsigns.nvim": { "branch": "main", "commit": "6e3c66548035e50db7bd8e360a29aec6620c3641" },
|
"gitsigns.nvim": { "branch": "main", "commit": "6e3c66548035e50db7bd8e360a29aec6620c3641" },
|
||||||
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
|
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
|
||||||
"lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" },
|
"lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" },
|
||||||
"lualine.nvim": { "branch": "master", "commit": "b8c23159c0161f4b89196f74ee3a6d02cdc3a955" },
|
"lualine.nvim": { "branch": "master", "commit": "b8c23159c0161f4b89196f74ee3a6d02cdc3a955" },
|
||||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "7f0bf635082bb9b7d2b37766054526a6ccafdb85" },
|
"mason-lspconfig.nvim": { "branch": "main", "commit": "7f9a39fcd2ac6e979001f857727d606888f5909c" },
|
||||||
"mason-tool-installer.nvim": { "branch": "main", "commit": "517ef5994ef9d6b738322664d5fdd948f0fdeb46" },
|
"mason-tool-installer.nvim": { "branch": "main", "commit": "517ef5994ef9d6b738322664d5fdd948f0fdeb46" },
|
||||||
"mason.nvim": { "branch": "main", "commit": "7dc4facca9702f95353d5a1f87daf23d78e31c2a" },
|
"mason.nvim": { "branch": "main", "commit": "7dc4facca9702f95353d5a1f87daf23d78e31c2a" },
|
||||||
"mini.nvim": { "branch": "main", "commit": "0e9d1f972a91acf5a0513319099ba41f7c09c30a" },
|
"mini.nvim": { "branch": "main", "commit": "d12b7c1b4dccc5245a3d2b7bc73da6dd910af2c0" },
|
||||||
"neo-tree.nvim": { "branch": "main", "commit": "46fa0c22ca39e05fe15744102d21feb07fe9a94a" },
|
"neo-tree.nvim": { "branch": "main", "commit": "ed057048a281b418d5318dd5153f9486daa517a3" },
|
||||||
|
"neogen": { "branch": "main", "commit": "d7f9461727751fb07f82011051338a9aba07581d" },
|
||||||
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
|
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
|
||||||
"nvim-autopairs": { "branch": "master", "commit": "23320e75953ac82e559c610bec5a90d9c6dfa743" },
|
"nvim-autopairs": { "branch": "master", "commit": "23320e75953ac82e559c610bec5a90d9c6dfa743" },
|
||||||
"nvim-lspconfig": { "branch": "master", "commit": "45ff1914044de7dbd4cd85053dc09f47312a2f4d" },
|
"nvim-lspconfig": { "branch": "master", "commit": "bc09aa236d7d2af66f56a5a35d0577588eca7800" },
|
||||||
"nvim-notify": { "branch": "master", "commit": "397c7c1184745fca649e5104de659e6392ef5a4d" },
|
"nvim-notify": { "branch": "master", "commit": "8701bece920b38ea289b457f902e2ad184131a5d" },
|
||||||
"nvim-surround": { "branch": "main", "commit": "c271c9082886a24866353764cf96c9d957e95b2b" },
|
"nvim-surround": { "branch": "main", "commit": "a868c256c861044beb9794b4dd126480dcdfbdad" },
|
||||||
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
||||||
"nvim-treesitter-textobjects": { "branch": "master", "commit": "71385f191ec06ffc60e80e6b0c9a9d5daed4824c" },
|
"nvim-treesitter-textobjects": { "branch": "master", "commit": "71385f191ec06ffc60e80e6b0c9a9d5daed4824c" },
|
||||||
"nvim-web-devicons": { "branch": "master", "commit": "c2599a81ecabaae07c49ff9b45dcd032a8d90f1a" },
|
"nvim-web-devicons": { "branch": "master", "commit": "6e51ca170563330e063720449c21f43e27ca0bc1" },
|
||||||
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
|
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
|
||||||
|
"project-cli-commands.nvim": { "branch": "main", "commit": "9a2a2fdfd38a3d71cc927e3a398ac0ddfa846b3d" },
|
||||||
|
"schemastore.nvim": { "branch": "main", "commit": "d522e3ed6ed2c7bed7ebe1e42615e79b3aabfe65" },
|
||||||
"telescope-fzf-native.nvim": { "branch": "main", "commit": "1f08ed60cafc8f6168b72b80be2b2ea149813e55" },
|
"telescope-fzf-native.nvim": { "branch": "main", "commit": "1f08ed60cafc8f6168b72b80be2b2ea149813e55" },
|
||||||
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
|
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
|
||||||
"telescope.nvim": { "branch": "master", "commit": "b4da76be54691e854d3e0e02c36b0245f945c2c7" },
|
"telescope.nvim": { "branch": "master", "commit": "b4da76be54691e854d3e0e02c36b0245f945c2c7" },
|
||||||
|
|||||||
31
nvim/lsp/jsonls.lua
Normal file
31
nvim/lsp/jsonls.lua
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
return {
|
||||||
|
settings = {
|
||||||
|
json = {
|
||||||
|
schemas = require("schemastore").json.schemas({
|
||||||
|
select = {
|
||||||
|
"devcontainer.json",
|
||||||
|
"devcontainer-feature.json",
|
||||||
|
},
|
||||||
|
replace = {
|
||||||
|
["devcontainer.json"] = {
|
||||||
|
description = "devcontainer.json overridden",
|
||||||
|
-- fileMatch has to be a table
|
||||||
|
fileMatch = { "devcontainer.json" },
|
||||||
|
name = "devcontainer.json",
|
||||||
|
url = "https://raw.githubusercontent.com/devcontainers/spec/refs/heads/main/schemas/devContainer.base.schema.json",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
extra = {
|
||||||
|
{
|
||||||
|
description = "devcontainer-feature.json",
|
||||||
|
-- fileMatch has to be a table
|
||||||
|
fileMatch = { "devcontainer-feature.json" },
|
||||||
|
name = "devcontainer-feature.json",
|
||||||
|
url = "https://raw.githubusercontent.com/devcontainers/spec/refs/heads/main/schemas/devContainerFeature.schema.json",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
validate = { enable = true },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
12
nvim/lsp/lua_ls.lua
Normal file
12
nvim/lsp/lua_ls.lua
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
return {
|
||||||
|
settings = {
|
||||||
|
Lua = {
|
||||||
|
completion = {
|
||||||
|
callSnippet = "Replace",
|
||||||
|
},
|
||||||
|
diagnostics = {
|
||||||
|
globals = { "vim" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
9
nvim/lsp/sourcekit.lua
Normal file
9
nvim/lsp/sourcekit.lua
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
return {
|
||||||
|
capabilities = {
|
||||||
|
workspace = {
|
||||||
|
didChangeWatchedFiles = {
|
||||||
|
dynamicRegistration = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
25
nvim/lsp/yamlls.lua
Normal file
25
nvim/lsp/yamlls.lua
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
return {
|
||||||
|
settings = {
|
||||||
|
yaml = {
|
||||||
|
schemaStore = {
|
||||||
|
enable = false,
|
||||||
|
url = "",
|
||||||
|
},
|
||||||
|
schemas = require("schemastore").yaml.schemas({
|
||||||
|
select = {
|
||||||
|
"Ansible Inventory",
|
||||||
|
"Ansible Rulebook",
|
||||||
|
"Ansible Collection Galaxy",
|
||||||
|
"Ansible Playbook",
|
||||||
|
"Ansible Tasks File",
|
||||||
|
"Ansible Requirements",
|
||||||
|
"Ansible Vars File",
|
||||||
|
"kustomization.yaml",
|
||||||
|
"docker-compose.yml",
|
||||||
|
"GitHub Workflow",
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
validate = { enable = true },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
@ -17,6 +17,7 @@ local filetype_maps = {
|
|||||||
{ pattern = "*.tf", ft = "terraform" },
|
{ pattern = "*.tf", ft = "terraform" },
|
||||||
{ pattern = "*.pro", ft = "progruard" },
|
{ pattern = "*.pro", ft = "progruard" },
|
||||||
{ pattern = "*.mjml", ft = "html" },
|
{ pattern = "*.mjml", ft = "html" },
|
||||||
|
{ pattern = ".swift-format", ft = "json" },
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, mapping in ipairs(filetype_maps) do
|
for _, mapping in ipairs(filetype_maps) do
|
||||||
|
|||||||
@ -1,11 +1,17 @@
|
|||||||
-- [[ Basic Keymaps ]]
|
local keymap = vim.keymap.set
|
||||||
|
|
||||||
vim.keymap.set("n", "<Esc>", "<cmd>nohlsearch<CR>")
|
-- Normal mode
|
||||||
vim.keymap.set("n", "<leader>f", vim.diagnostic.setloclist, { desc = "Open diagnostic quick[f]ix list" })
|
keymap("n", "<Esc>", "<cmd>nohlsearch<CR>")
|
||||||
vim.keymap.set("n", "<leader>q", "<cmd>q<CR>")
|
keymap("n", "<leader>w", "<cmd>w!<CR>", { desc = "[w]rite current file", silent = true })
|
||||||
vim.keymap.set("n", "<leader>Q", "<cmd>qa<CR>")
|
keymap("n", "<leader>q", "<cmd>q<CR>", { desc = "[q]uit current buffer", silent = true })
|
||||||
vim.keymap.set("t", "<Esc><Esc>", "<C-\\><C-n>", { desc = "Exit terminal mode" })
|
keymap("n", "<leader>Q", "<cmd>qa<CR>", { desc = "[Q]uit completely", silent = true })
|
||||||
vim.keymap.set("n", "<C-h>", "<C-w><C-h>", { desc = "Move focus to the left window" })
|
keymap("n", "<C-h>", "<C-w><C-h>", { desc = "Move focus to the left window" })
|
||||||
vim.keymap.set("n", "<C-l>", "<C-w><C-l>", { desc = "Move focus to the right window" })
|
keymap("n", "<C-l>", "<C-w><C-l>", { desc = "Move focus to the right window" })
|
||||||
vim.keymap.set("n", "<C-j>", "<C-w><C-j>", { desc = "Move focus to the lower window" })
|
keymap("n", "<C-j>", "<C-w><C-j>", { desc = "Move focus to the lower window" })
|
||||||
vim.keymap.set("n", "<C-k>", "<C-w><C-k>", { desc = "Move focus to the upper window" })
|
keymap("n", "<C-k>", "<C-w><C-k>", { desc = "Move focus to the upper window" })
|
||||||
|
|
||||||
|
-- Visual mode
|
||||||
|
keymap("v", "<Leader>p", '"_dP', { desc = "[p]aste without overwriting default register" })
|
||||||
|
|
||||||
|
-- Terminal mode
|
||||||
|
keymap("t", "<Esc>", "<C-\\><C-n>", { desc = "Exit terminal mode" })
|
||||||
|
|||||||
@ -1,28 +0,0 @@
|
|||||||
return {
|
|
||||||
{
|
|
||||||
"lewis6991/gitsigns.nvim",
|
|
||||||
opts = {
|
|
||||||
signs = {
|
|
||||||
add = { text = "+" },
|
|
||||||
change = { text = "~" },
|
|
||||||
delete = { text = "_" },
|
|
||||||
topdelete = { text = "‾" },
|
|
||||||
changedelete = { text = "~" },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
-- {
|
|
||||||
-- "kdheepak/lazygit.nvim",
|
|
||||||
-- lazy = false,
|
|
||||||
-- cmd = {
|
|
||||||
-- "LazyGit",
|
|
||||||
-- "LazyGitConfig",
|
|
||||||
-- "LazyGitCurrentFile",
|
|
||||||
-- "LazyGitFilter",
|
|
||||||
-- "LazyGitFilterCurrentFile",
|
|
||||||
-- },
|
|
||||||
-- keys = {
|
|
||||||
-- { "<leader>gs", "<cmd>LazyGit<cr>", desc = "LazyGit" },
|
|
||||||
-- },
|
|
||||||
-- },
|
|
||||||
}
|
|
||||||
@ -1,47 +0,0 @@
|
|||||||
return {
|
|
||||||
"folke/which-key.nvim",
|
|
||||||
event = "VimEnter",
|
|
||||||
opts = {
|
|
||||||
delay = 0,
|
|
||||||
icons = {
|
|
||||||
mappings = vim.g.have_nerd_font,
|
|
||||||
keys = vim.g.have_nerd_font and {} or {
|
|
||||||
Up = "<Up> ",
|
|
||||||
Down = "<Down> ",
|
|
||||||
Left = "<Left> ",
|
|
||||||
Right = "<Right> ",
|
|
||||||
C = "<C-…> ",
|
|
||||||
M = "<M-…> ",
|
|
||||||
D = "<D-…> ",
|
|
||||||
S = "<S-…> ",
|
|
||||||
CR = "<CR> ",
|
|
||||||
Esc = "<Esc> ",
|
|
||||||
ScrollWheelDown = "<ScrollWheelDown> ",
|
|
||||||
ScrollWheelUp = "<ScrollWheelUp> ",
|
|
||||||
NL = "<NL> ",
|
|
||||||
BS = "<BS> ",
|
|
||||||
Space = "<Space> ",
|
|
||||||
Tab = "<Tab> ",
|
|
||||||
F1 = "<F1>",
|
|
||||||
F2 = "<F2>",
|
|
||||||
F3 = "<F3>",
|
|
||||||
F4 = "<F4>",
|
|
||||||
F5 = "<F5>",
|
|
||||||
F6 = "<F6>",
|
|
||||||
F7 = "<F7>",
|
|
||||||
F8 = "<F8>",
|
|
||||||
F9 = "<F9>",
|
|
||||||
F10 = "<F10>",
|
|
||||||
F11 = "<F11>",
|
|
||||||
F12 = "<F12>",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
-- Document existing key chains
|
|
||||||
spec = {
|
|
||||||
{ "<leader>s", group = "[S]earch" },
|
|
||||||
{ "<leader>e", group = "[E]xplorer/Tree" },
|
|
||||||
{ "<leader>t", group = "[T]oggle" },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@ -1,64 +0,0 @@
|
|||||||
return {
|
|
||||||
"nvim-telescope/telescope.nvim",
|
|
||||||
event = "VimEnter",
|
|
||||||
dependencies = {
|
|
||||||
"nvim-lua/plenary.nvim",
|
|
||||||
{
|
|
||||||
"nvim-telescope/telescope-fzf-native.nvim",
|
|
||||||
build = "make",
|
|
||||||
cond = function()
|
|
||||||
return vim.fn.executable("make") == 1
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
"nvim-telescope/telescope-ui-select.nvim",
|
|
||||||
{
|
|
||||||
"nvim-tree/nvim-web-devicons",
|
|
||||||
enabled = vim.g.have_nerd_font,
|
|
||||||
},
|
|
||||||
"rcarriga/nvim-notify",
|
|
||||||
},
|
|
||||||
config = function()
|
|
||||||
require("telescope").setup({
|
|
||||||
extensions = {
|
|
||||||
["ui-select"] = {
|
|
||||||
require("telescope.themes").get_dropdown(),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
pcall(require("telescope").load_extension, "fzf")
|
|
||||||
pcall(require("telescope").load_extension, "ui-select")
|
|
||||||
pcall(require("telescope").load_extension, "notify")
|
|
||||||
|
|
||||||
-- Define these keys here since they require access to runtime values
|
|
||||||
local builtin = require("telescope.builtin")
|
|
||||||
vim.keymap.set("n", "<leader>sh", builtin.help_tags, { desc = "[S]earch [H]elp" })
|
|
||||||
vim.keymap.set("n", "<leader>sk", builtin.keymaps, { desc = "[S]earch [K]eymaps" })
|
|
||||||
vim.keymap.set("n", "<leader>sf", builtin.find_files, { desc = "[S]earch [F]iles" })
|
|
||||||
vim.keymap.set("n", "<leader>ss", builtin.builtin, { desc = "[S]earch [S]elect Telescope" })
|
|
||||||
vim.keymap.set("n", "<leader>sw", builtin.grep_string, { desc = "[S]earch current [W]ord" })
|
|
||||||
vim.keymap.set("n", "<leader>sg", builtin.live_grep, { desc = "[S]earch by [G]rep" })
|
|
||||||
vim.keymap.set("n", "<leader>sd", builtin.diagnostics, { desc = "[S]earch [D]iagnostics" })
|
|
||||||
vim.keymap.set("n", "<leader>sr", builtin.resume, { desc = "[S]earch [R]esume" })
|
|
||||||
vim.keymap.set("n", "<leader>s.", builtin.oldfiles, { desc = '[S]earch Recent Files ("." for repeat)' })
|
|
||||||
vim.keymap.set("n", "<leader><leader>", builtin.buffers, { desc = "[ ] Find existing buffers" })
|
|
||||||
|
|
||||||
vim.keymap.set("n", "<leader>/", function()
|
|
||||||
builtin.current_buffer_fuzzy_find(require("telescope.themes").get_dropdown({
|
|
||||||
winblend = 10,
|
|
||||||
previewer = false,
|
|
||||||
}))
|
|
||||||
end, { desc = "[/] Fuzzily search in current buffer" })
|
|
||||||
|
|
||||||
vim.keymap.set("n", "<leader>s/", function()
|
|
||||||
builtin.live_grep({
|
|
||||||
grep_open_files = true,
|
|
||||||
prompt_title = "Live Grep in Open Files",
|
|
||||||
})
|
|
||||||
end, { desc = "[S]earch [/] in Open Files" })
|
|
||||||
|
|
||||||
vim.keymap.set("n", "<leader>sn", function()
|
|
||||||
builtin.find_files({ cwd = vim.fn.stdpath("config") })
|
|
||||||
end, { desc = "[S]earch [N]eovim files" })
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
@ -1,197 +0,0 @@
|
|||||||
return {
|
|
||||||
{
|
|
||||||
"folke/lazydev.nvim",
|
|
||||||
ft = "lua",
|
|
||||||
opts = {
|
|
||||||
library = {
|
|
||||||
{ path = "${3rd}/luv/library", words = { "vim%.uv" } },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"neovim/nvim-lspconfig",
|
|
||||||
dependencies = {
|
|
||||||
-- NOTE: `opts = {}` is the same as calling `require('mason').setup({})`
|
|
||||||
{ "mason-org/mason.nvim", opts = {} },
|
|
||||||
"mason-org/mason-lspconfig.nvim",
|
|
||||||
"WhoIsSethDaniel/mason-tool-installer.nvim",
|
|
||||||
{ "j-hui/fidget.nvim", opts = {} },
|
|
||||||
"saghen/blink.cmp",
|
|
||||||
},
|
|
||||||
config = function()
|
|
||||||
vim.api.nvim_create_autocmd("LspAttach", {
|
|
||||||
group = vim.api.nvim_create_augroup("kickstart-lsp-attach", { clear = true }),
|
|
||||||
callback = function(event)
|
|
||||||
local map = function(keys, func, desc, mode)
|
|
||||||
mode = mode or "n"
|
|
||||||
vim.keymap.set(mode, keys, func, { buffer = event.buf, desc = "LSP: " .. desc })
|
|
||||||
end
|
|
||||||
-- Rename the variable under your cursor.
|
|
||||||
map("grn", vim.lsp.buf.rename, "[R]e[n]ame")
|
|
||||||
-- Execute a code action, usually your cursor needs to be on top of an error
|
|
||||||
map("gra", vim.lsp.buf.code_action, "[G]oto Code [A]ction", { "n", "x" })
|
|
||||||
-- Find references for the word under your cursor.
|
|
||||||
map("grr", require("telescope.builtin").lsp_references, "[G]oto [R]eferences")
|
|
||||||
-- Jump to the implementation of the word under your cursor.
|
|
||||||
map("gri", require("telescope.builtin").lsp_implementations, "[G]oto [I]mplementation")
|
|
||||||
-- Jump to the definition of the word under your cursor.
|
|
||||||
map("grd", require("telescope.builtin").lsp_definitions, "[G]oto [D]efinition")
|
|
||||||
-- WARN: This is not Goto Definition, this is Goto Declaration.
|
|
||||||
map("grD", vim.lsp.buf.declaration, "[G]oto [D]eclaration")
|
|
||||||
-- Fuzzy find all the symbols in your current document.
|
|
||||||
map("gO", require("telescope.builtin").lsp_document_symbols, "Open Document Symbols")
|
|
||||||
-- Fuzzy find all the symbols in your current workspace.
|
|
||||||
map("gW", require("telescope.builtin").lsp_dynamic_workspace_symbols, "Open Workspace Symbols")
|
|
||||||
-- Jump to the type of the word under your cursor.
|
|
||||||
map("grt", require("telescope.builtin").lsp_type_definitions, "[G]oto [T]ype Definition")
|
|
||||||
|
|
||||||
-- This function resolves a difference between neovim nightly (version 0.11) and stable (version 0.10)
|
|
||||||
---@param client vim.lsp.Client
|
|
||||||
---@param method vim.lsp.protocol.Method
|
|
||||||
---@param bufnr? integer some lsp support methods only in specific files
|
|
||||||
---@return boolean
|
|
||||||
local function client_supports_method(client, method, bufnr)
|
|
||||||
if vim.fn.has("nvim-0.11") == 1 then
|
|
||||||
return client:supports_method(method, bufnr)
|
|
||||||
else
|
|
||||||
return client.supports_method(method, { bufnr = bufnr })
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
-- The following two autocommands are used to highlight references of the
|
|
||||||
-- word under your cursor when your cursor rests there for a little while.
|
|
||||||
-- When you move your cursor, the highlights will be cleared (the second autocommand).
|
|
||||||
local client = vim.lsp.get_client_by_id(event.data.client_id)
|
|
||||||
if
|
|
||||||
client
|
|
||||||
and client_supports_method(
|
|
||||||
client,
|
|
||||||
vim.lsp.protocol.Methods.textDocument_documentHighlight,
|
|
||||||
event.buf
|
|
||||||
)
|
|
||||||
then
|
|
||||||
local highlight_augroup =
|
|
||||||
vim.api.nvim_create_augroup("kickstart-lsp-highlight", { clear = false })
|
|
||||||
vim.api.nvim_create_autocmd({ "CursorHold", "CursorHoldI" }, {
|
|
||||||
buffer = event.buf,
|
|
||||||
group = highlight_augroup,
|
|
||||||
callback = vim.lsp.buf.document_highlight,
|
|
||||||
})
|
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd({ "CursorMoved", "CursorMovedI" }, {
|
|
||||||
buffer = event.buf,
|
|
||||||
group = highlight_augroup,
|
|
||||||
callback = vim.lsp.buf.clear_references,
|
|
||||||
})
|
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd("LspDetach", {
|
|
||||||
group = vim.api.nvim_create_augroup("kickstart-lsp-detach", { clear = true }),
|
|
||||||
callback = function(event2)
|
|
||||||
vim.lsp.buf.clear_references()
|
|
||||||
vim.api.nvim_clear_autocmds({ group = "kickstart-lsp-highlight", buffer = event2.buf })
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
end
|
|
||||||
|
|
||||||
-- The following code creates a keymap to toggle inlay hints in your
|
|
||||||
-- code, if the language server you are using supports them
|
|
||||||
--
|
|
||||||
-- This may be unwanted, since they displace some of your code
|
|
||||||
if
|
|
||||||
client
|
|
||||||
and client_supports_method(client, vim.lsp.protocol.Methods.textDocument_inlayHint, event.buf)
|
|
||||||
then
|
|
||||||
map("<leader>th", function()
|
|
||||||
vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled({ bufnr = event.buf }))
|
|
||||||
end, "[T]oggle Inlay [H]ints")
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
|
|
||||||
-- Diagnostic Config
|
|
||||||
-- See :help vim.diagnostic.Opts
|
|
||||||
vim.diagnostic.config({
|
|
||||||
severity_sort = true,
|
|
||||||
float = { border = "rounded", source = "if_many" },
|
|
||||||
underline = { severity = vim.diagnostic.severity.ERROR },
|
|
||||||
signs = vim.g.have_nerd_font and {
|
|
||||||
text = {
|
|
||||||
[vim.diagnostic.severity.ERROR] = " ",
|
|
||||||
[vim.diagnostic.severity.WARN] = " ",
|
|
||||||
[vim.diagnostic.severity.INFO] = " ",
|
|
||||||
[vim.diagnostic.severity.HINT] = " ",
|
|
||||||
},
|
|
||||||
} or {},
|
|
||||||
virtual_text = {
|
|
||||||
source = "if_many",
|
|
||||||
spacing = 2,
|
|
||||||
format = function(diagnostic)
|
|
||||||
local diagnostic_message = {
|
|
||||||
[vim.diagnostic.severity.ERROR] = diagnostic.message,
|
|
||||||
[vim.diagnostic.severity.WARN] = diagnostic.message,
|
|
||||||
[vim.diagnostic.severity.INFO] = diagnostic.message,
|
|
||||||
[vim.diagnostic.severity.HINT] = diagnostic.message,
|
|
||||||
}
|
|
||||||
return diagnostic_message[diagnostic.severity]
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
local capabilities = require("blink.cmp").get_lsp_capabilities()
|
|
||||||
local servers = {
|
|
||||||
lua_ls = {
|
|
||||||
settings = {
|
|
||||||
Lua = {
|
|
||||||
completion = {
|
|
||||||
callSnippet = "Replace",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
-- Ensure the servers and tools above are installed
|
|
||||||
--
|
|
||||||
-- To check the current status of installed tools and/or manually install
|
|
||||||
-- other tools, you can run
|
|
||||||
-- :Mason
|
|
||||||
local ensure_installed = vim.tbl_keys(servers or {})
|
|
||||||
vim.list_extend(ensure_installed, {
|
|
||||||
-- LSPs
|
|
||||||
"json-lsp",
|
|
||||||
"lua_ls",
|
|
||||||
"ruby_lsp",
|
|
||||||
"rubocop",
|
|
||||||
"rust_analyzer",
|
|
||||||
"terraformls",
|
|
||||||
-- Formatters
|
|
||||||
"fixjson",
|
|
||||||
"goimports",
|
|
||||||
"hclfmt",
|
|
||||||
"prettierd",
|
|
||||||
"shellharden",
|
|
||||||
"stylua",
|
|
||||||
"yamlfix",
|
|
||||||
--- Linters
|
|
||||||
"swiftlint",
|
|
||||||
})
|
|
||||||
require("mason-tool-installer").setup({ ensure_installed = ensure_installed })
|
|
||||||
|
|
||||||
require("mason-lspconfig").setup({
|
|
||||||
ensure_installed = {}, -- explicitly set to an empty table (Kickstart populates installs via mason-tool-installer)
|
|
||||||
automatic_enable = true,
|
|
||||||
automatic_installation = false,
|
|
||||||
handlers = {
|
|
||||||
function(server_name)
|
|
||||||
local server = servers[server_name] or {}
|
|
||||||
-- This handles overriding only values explicitly passed
|
|
||||||
-- by the server configuration above. Useful when disabling
|
|
||||||
-- certain features of an LSP (for example, turning off formatting for ts_ls)
|
|
||||||
server.capabilities = vim.tbl_deep_extend("force", {}, capabilities, server.capabilities or {})
|
|
||||||
require("lspconfig")[server_name].setup(server)
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@ -1,6 +0,0 @@
|
|||||||
return {
|
|
||||||
"folke/todo-comments.nvim",
|
|
||||||
event = "VimEnter",
|
|
||||||
dependencies = { "nvim-lua/plenary.nvim" },
|
|
||||||
opts = { signs = false },
|
|
||||||
}
|
|
||||||
@ -1,14 +1,14 @@
|
|||||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||||
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
||||||
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
|
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
|
||||||
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
|
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
|
||||||
if vim.v.shell_error ~= 0 then
|
if vim.v.shell_error ~= 0 then
|
||||||
error("Error cloning lazy.nvim:\n" .. out)
|
error("Error cloning lazy.nvim:\n" .. out)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
vim.opt.rtp:prepend(lazypath)
|
vim.opt.rtp:prepend(lazypath)
|
||||||
|
|
||||||
require("lazy").setup({
|
require("lazy").setup({
|
||||||
spec = "config.lazy",
|
spec = { import = "plugins" },
|
||||||
change_detection = { notify = false },
|
change_detection = { notify = false },
|
||||||
})
|
})
|
||||||
|
|||||||
@ -1,37 +1,49 @@
|
|||||||
vim.g.have_nerd_font = true
|
local opt = vim.opt
|
||||||
vim.o.guifont = "Inconsolata Patched G:h12"
|
|
||||||
if vim.g.neovide then
|
|
||||||
vim.opt.cmdheight = 0
|
|
||||||
vim.o.linespace = 5
|
|
||||||
vim.g.neovide_cursor_animation_length = 0
|
|
||||||
vim.g.neovide_scroll_animation_length = 0
|
|
||||||
end
|
|
||||||
vim.opt.number = true
|
|
||||||
vim.opt.relativenumber = true
|
|
||||||
vim.opt.signcolumn = "yes"
|
|
||||||
vim.opt.mouse = "a"
|
|
||||||
-- Don't show the mode, since it's already in the status line
|
|
||||||
vim.opt.showmode = false
|
|
||||||
|
|
||||||
|
-- Columns and gutters
|
||||||
|
opt.colorcolumn = "80,120" -- Highlight columns 80, 120
|
||||||
|
opt.number = true -- Line numbers in the gutter
|
||||||
|
opt.relativenumber = true -- Relative line numbers in the gutter
|
||||||
|
opt.signcolumn = "yes:1" -- Sign column in the gutter always visible
|
||||||
|
|
||||||
|
-- Indentation
|
||||||
|
opt.autoindent = true -- Enable auto-indentation
|
||||||
|
opt.breakindent = true -- ?
|
||||||
|
opt.expandtab = true -- Default to spaces instead of tabs
|
||||||
|
opt.shiftround = true -- Round indent to multiple of shift-width
|
||||||
|
opt.shiftwidth = 4 -- Number of spaces when auto-indenting
|
||||||
|
opt.softtabstop = 4 -- Number of spaces for a tab when editing
|
||||||
|
opt.tabstop = 4 -- Number of spaces for a tab
|
||||||
|
|
||||||
|
-- Display and adornments
|
||||||
|
opt.cursorline = true -- Highlight current line
|
||||||
|
opt.guifont = "Inconsolata Patched G:h12"
|
||||||
|
opt.list = true -- Show whitespace characters
|
||||||
|
opt.listchars = { tab = "» ", trail = "○", nbsp = "␣", lead = "•" }
|
||||||
|
opt.scrolloff = 3 -- Show 3 lines above and below cursor
|
||||||
|
opt.showmode = false -- Don't show the mode since it's in our statusline
|
||||||
|
opt.termguicolors = true -- Use true terminal colors
|
||||||
|
opt.virtualedit = "block"
|
||||||
|
opt.winborder = "rounded" -- Rounded borders for windows
|
||||||
|
|
||||||
|
-- Behavior
|
||||||
|
opt.confirm = true
|
||||||
|
opt.ignorecase = true -- Ignore case in search and commands
|
||||||
|
opt.inccommand = "split" -- Preview substitutions live
|
||||||
|
opt.mouse = "a" -- Turn on mouse support
|
||||||
|
opt.smartcase = true -- ?
|
||||||
|
opt.splitbelow = true
|
||||||
|
opt.splitright = true
|
||||||
|
opt.timeoutlen = 1000 -- Command timeout length
|
||||||
|
opt.undofile = true
|
||||||
|
opt.updatetime = 250 -- ?
|
||||||
|
|
||||||
|
-- Clipboard
|
||||||
-- Sync clipboard between OS and Neovim.
|
-- Sync clipboard between OS and Neovim.
|
||||||
vim.schedule(function()
|
vim.schedule(function()
|
||||||
vim.opt.clipboard = "unnamedplus"
|
vim.opt.clipboard = "unnamedplus"
|
||||||
end)
|
end)
|
||||||
|
|
||||||
vim.opt.timeoutlen = 1000
|
-- Features
|
||||||
vim.opt.breakindent = true
|
vim.cmd.filetype("plugin indent on")
|
||||||
vim.opt.undofile = true
|
vim.g.have_nerd_font = true
|
||||||
vim.opt.ignorecase = true
|
|
||||||
vim.opt.smartcase = true
|
|
||||||
vim.opt.updatetime = 250
|
|
||||||
vim.opt.timeoutlen = 300
|
|
||||||
vim.opt.splitright = true
|
|
||||||
vim.opt.splitbelow = true
|
|
||||||
vim.opt.list = true
|
|
||||||
vim.opt.listchars = { tab = "» ", trail = "○", nbsp = "␣", lead = "•" }
|
|
||||||
-- Preview substitutions live, as you type!
|
|
||||||
vim.opt.inccommand = "split"
|
|
||||||
vim.opt.cursorline = true
|
|
||||||
vim.opt.scrolloff = 5
|
|
||||||
vim.opt.confirm = true
|
|
||||||
vim.opt.virtualedit = "block"
|
|
||||||
|
|||||||
@ -5,16 +5,12 @@ return {
|
|||||||
config = function()
|
config = function()
|
||||||
require("catppuccin").setup({
|
require("catppuccin").setup({
|
||||||
flavour = "auto",
|
flavour = "auto",
|
||||||
|
transparent_background = true,
|
||||||
background = {
|
background = {
|
||||||
light = "latte",
|
light = "latte",
|
||||||
dark = "mocha",
|
dark = "mocha",
|
||||||
},
|
},
|
||||||
term_colors = vim.g.neovide,
|
term_colors = vim.g.neovide,
|
||||||
color_overrides = {
|
|
||||||
mocha = {
|
|
||||||
base = "#101018",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
integrations = {
|
integrations = {
|
||||||
blink_cmp = true,
|
blink_cmp = true,
|
||||||
diffview = true,
|
diffview = true,
|
||||||
14
nvim/lua/plugins/10-git.lua
Normal file
14
nvim/lua/plugins/10-git.lua
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
return {
|
||||||
|
{
|
||||||
|
"lewis6991/gitsigns.nvim",
|
||||||
|
opts = {
|
||||||
|
signs = {
|
||||||
|
add = { text = "+" },
|
||||||
|
change = { text = "~" },
|
||||||
|
delete = { text = "_" },
|
||||||
|
topdelete = { text = "‾" },
|
||||||
|
changedelete = { text = "~" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
23
nvim/lua/plugins/20-which-key.lua
Normal file
23
nvim/lua/plugins/20-which-key.lua
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
return {
|
||||||
|
"folke/which-key.nvim",
|
||||||
|
event = "VimEnter",
|
||||||
|
opts = {
|
||||||
|
delay = 0,
|
||||||
|
preset = "helix",
|
||||||
|
icons = {
|
||||||
|
mappings = vim.g.have_nerd_font,
|
||||||
|
keys = vim.g.have_nerd_font,
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Document existing key chains
|
||||||
|
spec = {
|
||||||
|
{ "<leader>a", group = "[a]vante" },
|
||||||
|
{ "<leader>g", group = "[g]it" },
|
||||||
|
{ "<leader>l", group = "[l]sp" },
|
||||||
|
{ "<leader>lg", group = "[l]sp [g]oto" },
|
||||||
|
{ "<leader>ls", group = "[l]sp [s]ymbols" },
|
||||||
|
{ "<leader>s", group = "[s]earch" },
|
||||||
|
{ "<leader>t", group = "[t]oggle" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
66
nvim/lua/plugins/30-fuzzyfinder.lua
Normal file
66
nvim/lua/plugins/30-fuzzyfinder.lua
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
local keymap = vim.keymap.set
|
||||||
|
|
||||||
|
return {
|
||||||
|
"nvim-telescope/telescope.nvim",
|
||||||
|
event = "VimEnter",
|
||||||
|
dependencies = {
|
||||||
|
"nvim-lua/plenary.nvim",
|
||||||
|
{
|
||||||
|
"nvim-telescope/telescope-fzf-native.nvim",
|
||||||
|
build = "make",
|
||||||
|
cond = function()
|
||||||
|
return vim.fn.executable("make") == 1
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
"nvim-telescope/telescope-ui-select.nvim",
|
||||||
|
{
|
||||||
|
"nvim-tree/nvim-web-devicons",
|
||||||
|
enabled = vim.g.have_nerd_font,
|
||||||
|
},
|
||||||
|
"rcarriga/nvim-notify",
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
require("telescope").setup({
|
||||||
|
extensions = {
|
||||||
|
["ui-select"] = {
|
||||||
|
require("telescope.themes").get_dropdown(),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
pcall(require("telescope").load_extension, "fzf")
|
||||||
|
pcall(require("telescope").load_extension, "ui-select")
|
||||||
|
pcall(require("telescope").load_extension, "notify")
|
||||||
|
|
||||||
|
-- Define these keys here since they require access to runtime values
|
||||||
|
local builtin = require("telescope.builtin")
|
||||||
|
local map = function(keys, func, desc)
|
||||||
|
vim.keymap.set("n", "<leader>" .. keys, func, { desc = "[s]earch " .. desc })
|
||||||
|
end
|
||||||
|
map("<leader>", builtin.find_files, "all files ([ ])")
|
||||||
|
map("sb", builtin.buffers, "[b]uffers")
|
||||||
|
map("sd", builtin.diagnostics, "[d]iagnostics")
|
||||||
|
map("sg", builtin.live_grep, "[g]rep")
|
||||||
|
map("sh", builtin.help_tags, "[h]elp")
|
||||||
|
map("sk", builtin.keymaps, "[k]eymaps")
|
||||||
|
map("sn", function()
|
||||||
|
builtin.find_files({ cwd = vim.fn.stdpath("config") })
|
||||||
|
end, "[n]eovim files")
|
||||||
|
map("sr", builtin.resume, "[r]esume")
|
||||||
|
map("st", builtin.builtin, "[t]elescope")
|
||||||
|
map("sw", builtin.grep_string, "current [w]ord")
|
||||||
|
map("s.", builtin.oldfiles, "recent files ([.] for repeat)")
|
||||||
|
map("/", function()
|
||||||
|
builtin.current_buffer_fuzzy_find(require("telescope.themes").get_dropdown({
|
||||||
|
winblend = 10,
|
||||||
|
previewer = false,
|
||||||
|
}))
|
||||||
|
end, "current buffer fuzzy ([/])")
|
||||||
|
map("s/", function()
|
||||||
|
builtin.live_grep({
|
||||||
|
grep_open_files = true,
|
||||||
|
prompt_title = "Live Grep in Open Files",
|
||||||
|
})
|
||||||
|
end, "in open files ([/])")
|
||||||
|
end,
|
||||||
|
}
|
||||||
@ -18,6 +18,7 @@ return {
|
|||||||
hide_gitignore = false,
|
hide_gitignore = false,
|
||||||
never_show = {
|
never_show = {
|
||||||
"node_modules",
|
"node_modules",
|
||||||
|
".build",
|
||||||
".DS_Store",
|
".DS_Store",
|
||||||
"thumbs.db",
|
"thumbs.db",
|
||||||
".git",
|
".git",
|
||||||
42
nvim/lua/plugins/34-commands.lua
Normal file
42
nvim/lua/plugins/34-commands.lua
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
return {
|
||||||
|
"dimaportenko/project-cli-commands.nvim",
|
||||||
|
dependencies = {
|
||||||
|
"akinsho/toggleterm.nvim",
|
||||||
|
"nvim-telescope/telescope.nvim",
|
||||||
|
},
|
||||||
|
keys = {
|
||||||
|
{
|
||||||
|
"<leader>sc",
|
||||||
|
"<cmd>Telescope project_cli_commands open<cr>",
|
||||||
|
desc = "[s]earch [c]ommands",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
local OpenActions = require("project_cli_commands.open_actions")
|
||||||
|
local RunActions = require("project_cli_commands.actions")
|
||||||
|
|
||||||
|
require("project_cli_commands").setup({
|
||||||
|
-- Key mappings bound inside the telescope window
|
||||||
|
running_telescope_mapping = {
|
||||||
|
["<C-c>"] = RunActions.exit_terminal,
|
||||||
|
["<C-f>"] = RunActions.open_float,
|
||||||
|
["<C-v>"] = RunActions.open_vertical,
|
||||||
|
["<C-h>"] = RunActions.open_horizontal,
|
||||||
|
},
|
||||||
|
open_telescope_mapping = {
|
||||||
|
{ mode = "i", key = "<CR>", action = OpenActions.execute_script_vertical },
|
||||||
|
{ mode = "n", key = "<CR>", action = OpenActions.execute_script_vertical },
|
||||||
|
{ mode = "i", key = "<C-h>", action = OpenActions.execute_script },
|
||||||
|
{ mode = "n", key = "<C-h>", action = OpenActions.execute_script },
|
||||||
|
{ mode = "i", key = "<C-i>", action = OpenActions.execute_script_with_input },
|
||||||
|
{ mode = "n", key = "<C-i>", action = OpenActions.execute_script_with_input },
|
||||||
|
{ mode = "i", key = "<C-c>", action = OpenActions.copy_command_clipboard },
|
||||||
|
{ mode = "n", key = "<C-c>", action = OpenActions.copy_command_clipboard },
|
||||||
|
{ mode = "i", key = "<C-f>", action = OpenActions.execute_script_float },
|
||||||
|
{ mode = "n", key = "<C-f>", action = OpenActions.execute_script_float },
|
||||||
|
{ mode = "i", key = "<C-v>", action = OpenActions.execute_script_vertical },
|
||||||
|
{ mode = "n", key = "<C-v>", action = OpenActions.execute_script_vertical },
|
||||||
|
},
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
}
|
||||||
150
nvim/lua/plugins/40-lsp.lua
Normal file
150
nvim/lua/plugins/40-lsp.lua
Normal file
@ -0,0 +1,150 @@
|
|||||||
|
local mason_lsps = {
|
||||||
|
-- LSPs
|
||||||
|
-- "jsonls",
|
||||||
|
"lua_ls",
|
||||||
|
-- "ruby_lsp",
|
||||||
|
-- "rubocop",
|
||||||
|
-- "rust_analyzer",
|
||||||
|
-- "terraformls",
|
||||||
|
-- "ts_ls",
|
||||||
|
-- "yamlls",
|
||||||
|
-- Formatters
|
||||||
|
-- "fixjson",
|
||||||
|
-- "goimports",
|
||||||
|
-- "hclfmt",
|
||||||
|
-- "prettierd",
|
||||||
|
-- "shellharden",
|
||||||
|
"stylua",
|
||||||
|
}
|
||||||
|
|
||||||
|
local non_mason_lsps = {
|
||||||
|
"sourcekit",
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
-- {
|
||||||
|
-- "WhoIsSethDaniel/mason-tool-installer.nvim",
|
||||||
|
-- dependencies = {
|
||||||
|
-- "mason-org/mason-lspconfig.nvim",
|
||||||
|
-- },
|
||||||
|
-- opts = {
|
||||||
|
-- ensure_installed = mason_lsps,
|
||||||
|
-- },
|
||||||
|
-- },
|
||||||
|
{
|
||||||
|
"mason-org/mason-lspconfig.nvim",
|
||||||
|
opts = {
|
||||||
|
ensure_installed = mason_lsps,
|
||||||
|
automatic_enable = true,
|
||||||
|
automatic_installation = false,
|
||||||
|
},
|
||||||
|
dependencies = {
|
||||||
|
{ "mason-org/mason.nvim", opts = {} },
|
||||||
|
"neovim/nvim-lspconfig",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"neovim/nvim-lspconfig",
|
||||||
|
dependencies = {
|
||||||
|
"mason-org/mason.nvim",
|
||||||
|
"mason-org/mason-lspconfig.nvim",
|
||||||
|
"WhoIsSethDaniel/mason-tool-installer.nvim",
|
||||||
|
{ "j-hui/fidget.nvim", opts = {} },
|
||||||
|
"saghen/blink.cmp",
|
||||||
|
"b0o/schemastore.nvim",
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
for _, server in ipairs(non_mason_lsps) do
|
||||||
|
vim.lsp.enable(server)
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd("LspAttach", {
|
||||||
|
group = vim.api.nvim_create_augroup("kickstart-lsp-attach", { clear = true }),
|
||||||
|
callback = function(event)
|
||||||
|
local map = function(keys, func, desc, mode)
|
||||||
|
vim.keymap.set(
|
||||||
|
mode or "n",
|
||||||
|
"<leader>" .. keys,
|
||||||
|
func,
|
||||||
|
{ buffer = event.buf, desc = "[l]sp: " .. desc }
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
map("la", vim.lsp.buf.code_action, "[a]ctions", { "n", "x" })
|
||||||
|
map("lgr", require("telescope.builtin").lsp_references, "[g]oto [r]eferences")
|
||||||
|
map("lgi", require("telescope.builtin").lsp_implementations, "[g]oto [i]mplementation")
|
||||||
|
map("lgf", require("telescope.builtin").lsp_definitions, "[g]oto de[f]inition")
|
||||||
|
map("lgd", vim.lsp.buf.declaration, "[g]oto [d]eclaration")
|
||||||
|
map("lgt", require("telescope.builtin").lsp_type_definitions, "[g]oto [t]ype definition")
|
||||||
|
map("lr", vim.lsp.buf.rename, "[r]ename")
|
||||||
|
map("lsb", require("telescope.builtin").lsp_document_symbols, "[s]ymbols in [b]uffer")
|
||||||
|
map("lsw", require("telescope.builtin").lsp_dynamic_workspace_symbols, "[s]ymbols in [w]orkspace")
|
||||||
|
map("lhs", "<cmd>LspInfo<CR>", "[h]ealth [s]tatus")
|
||||||
|
map("lhr", "<cmd>LspRestart<CR>", "[h]ealth [r]estart")
|
||||||
|
|
||||||
|
local client = vim.lsp.get_client_by_id(event.data.client_id)
|
||||||
|
local augroup = vim.api.nvim_create_augroup
|
||||||
|
local autocmd = vim.api.nvim_create_autocmd
|
||||||
|
if not client then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
if client:supports_method(vim.lsp.protocol.Methods.textDocument_documentHighlight, event.buf) then
|
||||||
|
local highlight_augroup = augroup("kickstart-lsp-highlight", { clear = false })
|
||||||
|
autocmd({ "CursorHold", "CursorHoldI" }, {
|
||||||
|
buffer = event.buf,
|
||||||
|
group = highlight_augroup,
|
||||||
|
callback = vim.lsp.buf.document_highlight,
|
||||||
|
})
|
||||||
|
autocmd({ "CursorMoved", "CursorMovedI" }, {
|
||||||
|
buffer = event.buf,
|
||||||
|
group = highlight_augroup,
|
||||||
|
callback = vim.lsp.buf.clear_references,
|
||||||
|
})
|
||||||
|
autocmd("LspDetach", {
|
||||||
|
group = augroup("kickstart-lsp-detach", { clear = true }),
|
||||||
|
callback = function(event2)
|
||||||
|
vim.lsp.buf.clear_references()
|
||||||
|
vim.api.nvim_clear_autocmds({
|
||||||
|
group = "kickstart-lsp-highlight",
|
||||||
|
buffer = event2.buf,
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
end
|
||||||
|
if client:supports_method(vim.lsp.protocol.Methods.textDocument_inlayHint, event.buf) then
|
||||||
|
map("<leader>th", function()
|
||||||
|
vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled({ bufnr = event.buf }))
|
||||||
|
end, "[T]oggle Inlay [H]ints")
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
vim.diagnostic.config({
|
||||||
|
severity_sort = true,
|
||||||
|
float = { border = "rounded", source = "if_many" },
|
||||||
|
underline = { severity = vim.diagnostic.severity.ERROR },
|
||||||
|
signs = vim.g.have_nerd_font and {
|
||||||
|
text = {
|
||||||
|
[vim.diagnostic.severity.ERROR] = " ",
|
||||||
|
[vim.diagnostic.severity.WARN] = " ",
|
||||||
|
[vim.diagnostic.severity.INFO] = " ",
|
||||||
|
[vim.diagnostic.severity.HINT] = " ",
|
||||||
|
},
|
||||||
|
} or {},
|
||||||
|
virtual_text = {
|
||||||
|
source = "if_many",
|
||||||
|
spacing = 2,
|
||||||
|
format = function(diagnostic)
|
||||||
|
local diagnostic_message = {
|
||||||
|
[vim.diagnostic.severity.ERROR] = diagnostic.message,
|
||||||
|
[vim.diagnostic.severity.WARN] = diagnostic.message,
|
||||||
|
[vim.diagnostic.severity.INFO] = diagnostic.message,
|
||||||
|
[vim.diagnostic.severity.HINT] = diagnostic.message,
|
||||||
|
}
|
||||||
|
return diagnostic_message[diagnostic.severity]
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
}
|
||||||
@ -4,12 +4,12 @@ return {
|
|||||||
cmd = { "ConformInfo" },
|
cmd = { "ConformInfo" },
|
||||||
keys = {
|
keys = {
|
||||||
{
|
{
|
||||||
"<leader>f",
|
"<leader>lf",
|
||||||
function()
|
function()
|
||||||
require("conform").format({ async = true, lsp_format = "fallback" })
|
require("conform").format({ async = true, lsp_format = "fallback" })
|
||||||
end,
|
end,
|
||||||
mode = "",
|
mode = "",
|
||||||
desc = "[F]ormat buffer",
|
desc = "[l]sp: [f]ormat buffer",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
opts = {
|
opts = {
|
||||||
@ -30,21 +30,17 @@ return {
|
|||||||
hcl = { "terragrunt_hclfmt" },
|
hcl = { "terragrunt_hclfmt" },
|
||||||
html = { "prettierd" },
|
html = { "prettierd" },
|
||||||
javascript = { "prettierd" },
|
javascript = { "prettierd" },
|
||||||
json = { "fixjson" },
|
json = { "fixjson", "prettierd" },
|
||||||
lua = { "stylua" },
|
lua = { "stylua" },
|
||||||
markdown = { "prettierd" },
|
markdown = { "prettierd" },
|
||||||
ruby = { "rubocop" },
|
ruby = { "rubocop" },
|
||||||
rust = { "rustfmt" },
|
rust = { "rustfmt" },
|
||||||
sh = { "shellharden" },
|
sh = { "shellharden" },
|
||||||
swift = { "swiftlint" },
|
swift = { "swiftformat" },
|
||||||
terraform = { "terraform_fmt" },
|
terraform = { "terraform_fmt" },
|
||||||
xml = { "xmllint" },
|
xml = { "xmllint" },
|
||||||
yaml = { "yamlfix" },
|
yaml = { "prettierd" },
|
||||||
},
|
|
||||||
formatters = {
|
|
||||||
yamlfix = {
|
|
||||||
prepend_args = { "-c", ".yamlfix.toml" },
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
|
formatters = {},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
@ -3,7 +3,7 @@ return {
|
|||||||
dependencies = { "nvim-tree/nvim-web-devicons" },
|
dependencies = { "nvim-tree/nvim-web-devicons" },
|
||||||
event = "VimEnter",
|
event = "VimEnter",
|
||||||
opts = {
|
opts = {
|
||||||
extensions = { "neo-tree", "lazy", "toggleterm" },
|
extensions = { "neo-tree", "lazy", "toggleterm", "avante", "mason" },
|
||||||
options = {
|
options = {
|
||||||
theme = "catppuccin",
|
theme = "catppuccin",
|
||||||
section_separators = { left = "", right = "" },
|
section_separators = { left = "", right = "" },
|
||||||
20
nvim/lua/plugins/60-comments.lua
Normal file
20
nvim/lua/plugins/60-comments.lua
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
return {
|
||||||
|
{
|
||||||
|
"folke/todo-comments.nvim",
|
||||||
|
event = "VimEnter",
|
||||||
|
dependencies = { "nvim-lua/plenary.nvim" },
|
||||||
|
opts = { signs = false },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"danymat/neogen",
|
||||||
|
config = true,
|
||||||
|
keys = {
|
||||||
|
{
|
||||||
|
"<leader>df",
|
||||||
|
"<cmd>Neogen func<CR>",
|
||||||
|
mode = "n",
|
||||||
|
desc = "[d]ocs: for [f]unc",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
@ -2,13 +2,9 @@ return {
|
|||||||
"yetone/avante.nvim",
|
"yetone/avante.nvim",
|
||||||
event = "VeryLazy",
|
event = "VeryLazy",
|
||||||
version = false,
|
version = false,
|
||||||
|
|
||||||
---@module 'avante'
|
|
||||||
---@type avante.Config
|
|
||||||
opts = {
|
opts = {
|
||||||
build = vim.fn.has("win32") ~= 0
|
build = "make",
|
||||||
and "powershell -ExecutionPolicy Bypass -File Build.ps1 -BuildFromSource false"
|
mode = "legacy",
|
||||||
or "make",
|
|
||||||
provider = "claude",
|
provider = "claude",
|
||||||
},
|
},
|
||||||
dependencies = {
|
dependencies = {
|
||||||
6
setup.sh
6
setup.sh
@ -10,14 +10,14 @@ if [[ ! -d $XDG_CONFIG_HOME ]]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Symlink directories to $XDG_CONFIG_HOME.
|
# Symlink directories to $XDG_CONFIG_HOME.
|
||||||
directories=("gem" "ghostty" "git" "gnupg" "k9s" "lazygit" "neovide" "nvim" "starship" "tmux" "zed")
|
directories=("gem" "ghostty" "git" "gnupg" "k9s" "lazygit" "mise" "neovide" "nvim" "starship" "tmux" "zed")
|
||||||
for directory in "${directories[@]}"; do
|
for directory in "${directories[@]}"; do
|
||||||
if [[ -d "$XDG_CONFIG_HOME/$directory" ]]; then continue; fi
|
if [[ -d "$XDG_CONFIG_HOME/$directory" ]]; then continue; fi
|
||||||
ln -sfv "$SCRIPTPATH/$directory" "$XDG_CONFIG_HOME/$directory"
|
ln -sfv "$SCRIPTPATH/$directory" "$XDG_CONFIG_HOME/$directory"
|
||||||
done
|
done
|
||||||
|
|
||||||
zshfiles=("zshenv" "zprofile" "zshrc")
|
zshfiles=("zshenv" "zshrc")
|
||||||
for file in "${zshfiles[@]}"; do
|
for file in "${zshfiles[@]}"; do
|
||||||
if [[ -a "$HOME/.$file" && $* != *--force* ]]; then continue; fi
|
if [[ -a "$HOME/.$file" && $* == *--no-force* ]]; then continue; fi
|
||||||
ln -sfv "$SCRIPTPATH/zsh/$file" "$HOME/.$file"
|
ln -sfv "$SCRIPTPATH/zsh/$file" "$HOME/.$file"
|
||||||
done
|
done
|
||||||
|
|||||||
@ -37,6 +37,8 @@ alias av="ansible-vault"
|
|||||||
# tool aliases
|
# tool aliases
|
||||||
if [[ -x "$(command -v nvim)" ]]; then
|
if [[ -x "$(command -v nvim)" ]]; then
|
||||||
alias vim="nvim"
|
alias vim="nvim"
|
||||||
|
alias v="nvim"
|
||||||
|
alias vv="NVIM_APPNAME=nvim-new nvim"
|
||||||
fi
|
fi
|
||||||
if [[ -x "$(command -v highlight)" ]]; then
|
if [[ -x "$(command -v highlight)" ]]; then
|
||||||
alias ccat='highlight -O ansi --force'
|
alias ccat='highlight -O ansi --force'
|
||||||
|
|||||||
@ -56,17 +56,19 @@ function random_string() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# devcontainer aliases
|
# devcontainer aliases
|
||||||
function devconbuild() {
|
function devcup() {
|
||||||
|
devcontainer up --workspace-folder . --remove-existing-container \
|
||||||
|
--dotfiles-repository "https://git.kree.gr/kreeger/dotfiles.git" \
|
||||||
|
--dotfiles-install-command "setup.sh"
|
||||||
|
}
|
||||||
|
function devcb() {
|
||||||
devcontainer build --workspace-folder .
|
devcontainer build --workspace-folder .
|
||||||
}
|
}
|
||||||
function devconup() {
|
function devce() {
|
||||||
devcontainer up --workspace-folder .
|
|
||||||
}
|
|
||||||
function devconexec() {
|
|
||||||
devcontainer exec --workspace-folder . $1
|
devcontainer exec --workspace-folder . $1
|
||||||
}
|
}
|
||||||
function devconshell() {
|
function devcs() {
|
||||||
devconexec /usr/bin/zsh
|
devce /usr/bin/zsh
|
||||||
}
|
}
|
||||||
|
|
||||||
# Dotfile update command(s)
|
# Dotfile update command(s)
|
||||||
|
|||||||
18
zsh/zprofile
18
zsh/zprofile
@ -1,6 +1,11 @@
|
|||||||
# vim: filetype=zsh
|
# vim: filetype=zsh
|
||||||
|
|
||||||
SCRIPTPATH=$HOME/.config/dotfiles/zsh
|
if [[ -d $HOME/.config/dotfiles/zsh ]]; then
|
||||||
|
SCRIPTPATH=$HOME/.config/dotfiles/zsh
|
||||||
|
elif [[ -d $HOME/dotfiles/zsh ]]; then
|
||||||
|
SCRIPTPATH=$HOME/dotfiles/zsh
|
||||||
|
fi
|
||||||
|
|
||||||
ZSH_CACHE_DIR="$HOME/.cache/zsh"
|
ZSH_CACHE_DIR="$HOME/.cache/zsh"
|
||||||
|
|
||||||
# Let GPG know which tty we're using and put in charge of SSH auth
|
# Let GPG know which tty we're using and put in charge of SSH auth
|
||||||
@ -16,6 +21,17 @@ fi
|
|||||||
if [[ -a "/opt/homebrew/bin/brew" ]]; then
|
if [[ -a "/opt/homebrew/bin/brew" ]]; then
|
||||||
eval "$(/opt/homebrew/bin/brew shellenv)"
|
eval "$(/opt/homebrew/bin/brew shellenv)"
|
||||||
fi
|
fi
|
||||||
|
# asdf
|
||||||
|
if [[ -d "$HOME/.asdf" ]]; then
|
||||||
|
# export PATH="$HOME/.asdf/shims:$PATH"
|
||||||
|
export ASDF_DATA_DIR=$HOME/.asdf
|
||||||
|
export ASDF_CONFIG_FILE=$HOME/.asdfrc
|
||||||
|
fi
|
||||||
|
# mise
|
||||||
|
if [[ -x "$(command -v mise)" ]]; then
|
||||||
|
export MISE_PYTHON_DEFAULT_PACKAGES_FILE=$XDG_CONFIG_HOME/mise/.default-python-packages
|
||||||
|
eval "$(mise activate zsh)"
|
||||||
|
fi
|
||||||
|
|
||||||
# plugins
|
# plugins
|
||||||
mkdir -p "$ZSH_CACHE_DIR"
|
mkdir -p "$ZSH_CACHE_DIR"
|
||||||
|
|||||||
7
zsh/zprompt
Normal file
7
zsh/zprompt
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
# vim: filetype=zsh
|
||||||
|
|
||||||
|
precmd() { vcs_info }
|
||||||
|
|
||||||
|
zstyle ':vcs_info:git:*' formats '%b '
|
||||||
|
setopt PROMPT_SUBST
|
||||||
|
PROMPT='%F{green}%*%f %F{blue}%~%f %F{red}${vcs_info_msg_0_}%f$ '
|
||||||
12
zsh/zshenv
12
zsh/zshenv
@ -53,9 +53,17 @@ if [[ -d "$HOME/bin" ]]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# asdf
|
# asdf
|
||||||
if [[ -d "$HOME/.asdf/shims" ]]; then
|
if [[ -d "$HOME/.asdf" ]]; then
|
||||||
export PATH="$HOME/.asdf/shims:$PATH"
|
# export PATH="$HOME/.asdf/shims:$PATH"
|
||||||
|
export ASDF_DATA_DIR=$HOME/.asdf
|
||||||
|
export ASDF_CONFIG_FILE=$HOME/.asdfrc
|
||||||
fi
|
fi
|
||||||
|
# mise
|
||||||
|
if [[ -x "$(command -v mise)" ]]; then
|
||||||
|
export MISE_PYTHON_DEFAULT_PACKAGES_FILE=$XDG_CONFIG_HOME/mise/.default-python-packages
|
||||||
|
eval "$(mise activate zsh)"
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ -d "/opt/homebrew/share/google-cloud-sdk/bin" ]]; then
|
if [[ -d "/opt/homebrew/share/google-cloud-sdk/bin" ]]; then
|
||||||
export PATH=/opt/homebrew/share/google-cloud-sdk/bin:$PATH
|
export PATH=/opt/homebrew/share/google-cloud-sdk/bin:$PATH
|
||||||
fi
|
fi
|
||||||
|
|||||||
10
zsh/zshrc
10
zsh/zshrc
@ -17,7 +17,13 @@ setopt HIST_IGNORE_SPACE
|
|||||||
setopt AUTO_CD
|
setopt AUTO_CD
|
||||||
setopt PROMPT_SUBST
|
setopt PROMPT_SUBST
|
||||||
|
|
||||||
SCRIPTPATH=$HOME/.config/dotfiles/zsh
|
if [[ -d $HOME/.config/dotfiles/zsh ]]; then
|
||||||
|
SCRIPTPATH=$HOME/.config/dotfiles/zsh
|
||||||
|
elif [[ -d $HOME/dotfiles/zsh ]]; then
|
||||||
|
SCRIPTPATH=$HOME/dotfiles/zsh
|
||||||
|
fi
|
||||||
|
|
||||||
|
source $SCRIPTPATH/zprofile
|
||||||
|
|
||||||
# Use emacs-style binds instead of vim
|
# Use emacs-style binds instead of vim
|
||||||
bindkey -e
|
bindkey -e
|
||||||
@ -43,6 +49,8 @@ fi
|
|||||||
if [[ -x "$(command -v starship)" ]]; then
|
if [[ -x "$(command -v starship)" ]]; then
|
||||||
export STARSHIP_CONFIG="$HOME/.config/starship/starship.toml"
|
export STARSHIP_CONFIG="$HOME/.config/starship/starship.toml"
|
||||||
eval "$(starship init zsh)"
|
eval "$(starship init zsh)"
|
||||||
|
else
|
||||||
|
source $SCRIPTPATH/zprompt
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# asdf
|
# asdf
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user