mirror of
https://github.com/kristoferssolo/SoloVim.git
synced 2025-12-31 05:42:30 +00:00
Compare commits
4 Commits
3acfb7ee6e
...
1fa387183d
| Author | SHA1 | Date | |
|---|---|---|---|
| 1fa387183d | |||
| bb7bbc787c | |||
| 48913320ec | |||
| 517cef14ea |
170
.editorconfig
Normal file
170
.editorconfig
Normal file
@ -0,0 +1,170 @@
|
||||
# see https://github.com/CppCXY/EmmyLuaCodeStyle
|
||||
[*.lua]
|
||||
# [basic]
|
||||
|
||||
# optional space/tab
|
||||
indent_style = tab
|
||||
# if indent_style is space, this is valid
|
||||
indent_size = 4
|
||||
# if indent_style is tab, this is valid
|
||||
tab_width = 4
|
||||
# none/single/double
|
||||
quote_style = double
|
||||
|
||||
continuation_indent = 4
|
||||
## extend option
|
||||
# continuation_indent.before_block = 4
|
||||
# continuation_indent.in_expr = 4
|
||||
# continuation_indent.in_table = 4
|
||||
|
||||
# this mean utf8 length , if this is 'unset' then the line width is no longer checked
|
||||
# this option decides when to chopdown the code
|
||||
max_line_length = 120
|
||||
|
||||
# optional crlf/lf/cr/auto, if it is 'auto', in windows it is crlf other platforms are lf
|
||||
# in neovim the value 'auto' is not a valid option, please use 'unset'
|
||||
end_of_line = lf
|
||||
|
||||
# none/ comma / semicolon / only_kv_colon
|
||||
table_separator_style = comma
|
||||
|
||||
#optional keep/never/always/smart
|
||||
trailing_table_separator = smart
|
||||
|
||||
# keep/remove/remove_table_only/remove_string_only
|
||||
call_arg_parentheses = keep
|
||||
|
||||
detect_end_of_line = false
|
||||
|
||||
# this will check text end with new line
|
||||
insert_final_newline = true
|
||||
|
||||
# [space]
|
||||
space_around_table_field_list = true
|
||||
|
||||
space_before_attribute = true
|
||||
|
||||
space_before_function_open_parenthesis = false
|
||||
|
||||
space_before_function_call_open_parenthesis = false
|
||||
|
||||
space_before_closure_open_parenthesis = false
|
||||
|
||||
# optional always/only_string/only_table/none
|
||||
# or true/false
|
||||
space_before_function_call_single_arg = always
|
||||
## extend option
|
||||
## always/keep/none
|
||||
# space_before_function_call_single_arg.table = always
|
||||
## always/keep/none
|
||||
# space_before_function_call_single_arg.string = always
|
||||
|
||||
space_before_open_square_bracket = false
|
||||
|
||||
space_inside_function_call_parentheses = false
|
||||
|
||||
space_inside_function_param_list_parentheses = false
|
||||
|
||||
space_inside_square_brackets = false
|
||||
|
||||
# like t[#t+1] = 1
|
||||
space_around_table_append_operator = false
|
||||
|
||||
ignore_spaces_inside_function_call = false
|
||||
|
||||
# detail number or 'keep'
|
||||
space_before_inline_comment = 1
|
||||
|
||||
# convert '---' to '--- ' or '--' to '-- '
|
||||
space_after_comment_dash = false
|
||||
|
||||
# [operator space]
|
||||
space_around_math_operator = true
|
||||
# space_around_math_operator.exponent = false
|
||||
|
||||
space_after_comma = true
|
||||
|
||||
space_after_comma_in_for_statement = true
|
||||
|
||||
# true/false or none/always/no_space_asym
|
||||
space_around_concat_operator = true
|
||||
|
||||
space_around_logical_operator = true
|
||||
|
||||
# true/false or none/always/no_space_asym
|
||||
space_around_assign_operator = true
|
||||
|
||||
# [align]
|
||||
|
||||
align_call_args = false
|
||||
|
||||
align_function_params = true
|
||||
|
||||
# true/false or always
|
||||
align_continuous_assign_statement = true
|
||||
|
||||
align_continuous_rect_table_field = true
|
||||
|
||||
align_continuous_line_space = 2
|
||||
|
||||
align_if_branch = false
|
||||
|
||||
# option none / always / contain_curly/
|
||||
align_array_table = always
|
||||
|
||||
align_continuous_similar_call_args = false
|
||||
|
||||
align_continuous_inline_comment = true
|
||||
# option none / always / only_call_stmt
|
||||
align_chain_expr = none
|
||||
|
||||
# [indent]
|
||||
|
||||
never_indent_before_if_condition = false
|
||||
|
||||
never_indent_comment_on_if_branch = false
|
||||
|
||||
keep_indents_on_empty_lines = false
|
||||
|
||||
allow_non_indented_comments = false
|
||||
# [line space]
|
||||
|
||||
# The following configuration supports four expressions
|
||||
# keep
|
||||
# fixed(n)
|
||||
# min(n)
|
||||
# max(n)
|
||||
# for eg. min(2)
|
||||
|
||||
line_space_after_if_statement = keep
|
||||
|
||||
line_space_after_do_statement = keep
|
||||
|
||||
line_space_after_while_statement = keep
|
||||
|
||||
line_space_after_repeat_statement = keep
|
||||
|
||||
line_space_after_for_statement = keep
|
||||
|
||||
line_space_after_local_or_assign_statement = keep
|
||||
|
||||
line_space_after_function_statement = fixed(2)
|
||||
|
||||
line_space_after_expression_statement = keep
|
||||
|
||||
line_space_after_comment = keep
|
||||
|
||||
line_space_around_block = fixed(1)
|
||||
# [line break]
|
||||
break_all_list_when_line_exceed = true
|
||||
|
||||
auto_collapse_lines = false
|
||||
|
||||
break_before_braces = false
|
||||
|
||||
# [preference]
|
||||
ignore_space_after_colon = false
|
||||
|
||||
remove_call_expression_list_finish_comma = false
|
||||
# keep / always / same_line / replace_with_newline / never
|
||||
end_statement_with_semicolon = keep
|
||||
47
README.md
47
README.md
@ -22,10 +22,6 @@ NVIM_APPNAME=kristoferssolo/SoloVim/ nvim
|
||||
|
||||
## Plugins
|
||||
|
||||
### ai
|
||||
|
||||
+ [supermaven-inc/supermaven-nvim](https://dotfyle.com/plugins/supermaven-inc/supermaven-nvim)
|
||||
|
||||
### code-runner
|
||||
|
||||
+ [Civitasv/cmake-tools.nvim](https://dotfyle.com/plugins/Civitasv/cmake-tools.nvim)
|
||||
@ -73,7 +69,6 @@ NVIM_APPNAME=kristoferssolo/SoloVim/ nvim
|
||||
|
||||
### debugging
|
||||
|
||||
+ [Goose97/timber.nvim](https://dotfyle.com/plugins/Goose97/timber.nvim)
|
||||
+ [mfussenegger/nvim-dap](https://dotfyle.com/plugins/mfussenegger/nvim-dap)
|
||||
+ [theHamsta/nvim-dap-virtual-text](https://dotfyle.com/plugins/theHamsta/nvim-dap-virtual-text)
|
||||
+ [rcarriga/nvim-dap-ui](https://dotfyle.com/plugins/rcarriga/nvim-dap-ui)
|
||||
@ -102,14 +97,6 @@ NVIM_APPNAME=kristoferssolo/SoloVim/ nvim
|
||||
|
||||
+ [stevearc/conform.nvim](https://dotfyle.com/plugins/stevearc/conform.nvim)
|
||||
|
||||
### fuzzy-finder
|
||||
|
||||
+ [nvim-telescope/telescope.nvim](https://dotfyle.com/plugins/nvim-telescope/telescope.nvim)
|
||||
+ [tsakirist/telescope-lazy.nvim](https://dotfyle.com/plugins/tsakirist/telescope-lazy.nvim)
|
||||
+ [crispgm/telescope-heading.nvim](https://dotfyle.com/plugins/crispgm/telescope-heading.nvim)
|
||||
+ [ibhagwan/fzf-lua](https://dotfyle.com/plugins/ibhagwan/fzf-lua)
|
||||
+ [echasnovski/mini.pick](https://dotfyle.com/plugins/echasnovski/mini.pick)
|
||||
|
||||
### game
|
||||
|
||||
+ [ThePrimeagen/vim-be-good](https://dotfyle.com/plugins/ThePrimeagen/vim-be-good)
|
||||
@ -120,10 +107,6 @@ NVIM_APPNAME=kristoferssolo/SoloVim/ nvim
|
||||
+ [NeogitOrg/neogit](https://dotfyle.com/plugins/NeogitOrg/neogit)
|
||||
+ [sindrets/diffview.nvim](https://dotfyle.com/plugins/sindrets/diffview.nvim)
|
||||
|
||||
### github
|
||||
|
||||
+ [ldelossa/gh.nvim](https://dotfyle.com/plugins/ldelossa/gh.nvim)
|
||||
|
||||
### icon
|
||||
|
||||
+ [nvim-tree/nvim-web-devicons](https://dotfyle.com/plugins/nvim-tree/nvim-web-devicons)
|
||||
@ -140,20 +123,10 @@ NVIM_APPNAME=kristoferssolo/SoloVim/ nvim
|
||||
+ [mfussenegger/nvim-lint](https://dotfyle.com/plugins/mfussenegger/nvim-lint)
|
||||
+ [linrongbin16/lsp-progress.nvim](https://dotfyle.com/plugins/linrongbin16/lsp-progress.nvim)
|
||||
+ [neovim/nvim-lspconfig](https://dotfyle.com/plugins/neovim/nvim-lspconfig)
|
||||
+ [ldelossa/litee.nvim](https://dotfyle.com/plugins/ldelossa/litee.nvim)
|
||||
+ [jmbuhr/otter.nvim](https://dotfyle.com/plugins/jmbuhr/otter.nvim)
|
||||
|
||||
### lsp-installer
|
||||
|
||||
+ [williamboman/mason.nvim](https://dotfyle.com/plugins/williamboman/mason.nvim)
|
||||
|
||||
### lua-colorscheme
|
||||
|
||||
+ [ellisonleao/gruvbox.nvim](https://dotfyle.com/plugins/ellisonleao/gruvbox.nvim)
|
||||
|
||||
### markdown-and-latex
|
||||
|
||||
+ [nvim-telescope/telescope-bibtex.nvim](https://dotfyle.com/plugins/nvim-telescope/telescope-bibtex.nvim)
|
||||
+ [tadmccorkle/markdown.nvim](https://dotfyle.com/plugins/tadmccorkle/markdown.nvim)
|
||||
+ [OXY2DEV/markview.nvim](https://dotfyle.com/plugins/OXY2DEV/markview.nvim)
|
||||
|
||||
@ -164,20 +137,18 @@ NVIM_APPNAME=kristoferssolo/SoloVim/ nvim
|
||||
### media
|
||||
|
||||
+ [HakonHarnes/img-clip.nvim](https://dotfyle.com/plugins/HakonHarnes/img-clip.nvim)
|
||||
+ [3rd/image.nvim](https://dotfyle.com/plugins/3rd/image.nvim)
|
||||
|
||||
### note-taking
|
||||
|
||||
+ [epwalsh/obsidian.nvim](https://dotfyle.com/plugins/epwalsh/obsidian.nvim)
|
||||
+ [nvim-neorg/neorg](https://dotfyle.com/plugins/nvim-neorg/neorg)
|
||||
+ [nvim-neorg/neorg-telescope](https://dotfyle.com/plugins/nvim-neorg/neorg-telescope)
|
||||
+ [yujinyuz/gitpad.nvim](https://dotfyle.com/plugins/yujinyuz/gitpad.nvim)
|
||||
|
||||
### nvim-dev
|
||||
|
||||
+ [nvim-lua/plenary.nvim](https://dotfyle.com/plugins/nvim-lua/plenary.nvim)
|
||||
+ [nvim-lua/popup.nvim](https://dotfyle.com/plugins/nvim-lua/popup.nvim)
|
||||
+ [MunifTanjim/nui.nvim](https://dotfyle.com/plugins/MunifTanjim/nui.nvim)
|
||||
+ [folke/lazydev.nvim](https://dotfyle.com/plugins/folke/lazydev.nvim)
|
||||
+ [nvim-lua/plenary.nvim](https://dotfyle.com/plugins/nvim-lua/plenary.nvim)
|
||||
|
||||
### plugin-manager
|
||||
|
||||
@ -194,10 +165,6 @@ NVIM_APPNAME=kristoferssolo/SoloVim/ nvim
|
||||
|
||||
+ [Aityz/cratesearch.nvim](https://dotfyle.com/plugins/Aityz/cratesearch.nvim)
|
||||
|
||||
### search
|
||||
|
||||
+ [nvim-telescope/telescope-frecency.nvim](https://dotfyle.com/plugins/nvim-telescope/telescope-frecency.nvim)
|
||||
|
||||
### session
|
||||
|
||||
+ [folke/persistence.nvim](https://dotfyle.com/plugins/folke/persistence.nvim)
|
||||
@ -225,13 +192,10 @@ NVIM_APPNAME=kristoferssolo/SoloVim/ nvim
|
||||
|
||||
+ [kndndrj/nvim-dbee](https://dotfyle.com/plugins/kndndrj/nvim-dbee)
|
||||
+ [echasnovski/mini.nvim](https://dotfyle.com/plugins/echasnovski/mini.nvim)
|
||||
+ [stevearc/dressing.nvim](https://dotfyle.com/plugins/stevearc/dressing.nvim)
|
||||
+ [kiyoon/jupynium.nvim](https://dotfyle.com/plugins/kiyoon/jupynium.nvim)
|
||||
+ [folke/noice.nvim](https://dotfyle.com/plugins/folke/noice.nvim)
|
||||
+ [michaelrommel/nvim-silicon](https://dotfyle.com/plugins/michaelrommel/nvim-silicon)
|
||||
+ [rcarriga/nvim-notify](https://dotfyle.com/plugins/rcarriga/nvim-notify)
|
||||
+ [kevinhwang91/nvim-ufo](https://dotfyle.com/plugins/kevinhwang91/nvim-ufo)
|
||||
+ [doctorfree/cheatsheet.nvim](https://dotfyle.com/plugins/doctorfree/cheatsheet.nvim)
|
||||
+ [IogaMaster/neocord](https://dotfyle.com/plugins/IogaMaster/neocord)
|
||||
|
||||
### web-development
|
||||
@ -239,15 +203,12 @@ NVIM_APPNAME=kristoferssolo/SoloVim/ nvim
|
||||
+ [mistweaverco/kulala.nvim](https://dotfyle.com/plugins/mistweaverco/kulala.nvim)
|
||||
+ [luckasRanarison/tailwind-tools.nvim](https://dotfyle.com/plugins/luckasRanarison/tailwind-tools.nvim)
|
||||
|
||||
### workflow
|
||||
|
||||
+ [m4xshen/hardtime.nvim](https://dotfyle.com/plugins/m4xshen/hardtime.nvim)
|
||||
|
||||
## Language Servers
|
||||
|
||||
+ astro
|
||||
+ bashls
|
||||
+ clangd
|
||||
+ cmake
|
||||
+ cssls
|
||||
+ gopls
|
||||
+ html
|
||||
@ -255,9 +216,11 @@ NVIM_APPNAME=kristoferssolo/SoloVim/ nvim
|
||||
+ jsonls
|
||||
+ lua_ls
|
||||
+ neocmake
|
||||
+ svelte
|
||||
+ tailwindcss
|
||||
+ taplo
|
||||
+ texlab
|
||||
+ tsserver
|
||||
+ zk
|
||||
|
||||
This readme was generated by [Dotfyle](https://dotfyle.com)
|
||||
|
||||
@ -1,61 +0,0 @@
|
||||
if not pcall(require, "luasnip") then
|
||||
return
|
||||
end
|
||||
|
||||
local ls = require("luasnip")
|
||||
local s = ls.snippet
|
||||
local i = ls.insert_node
|
||||
local f = ls.function_node
|
||||
local fmt = require("luasnip.extras.fmt").fmt
|
||||
|
||||
local shared = require("config.snips")
|
||||
local same = shared.same
|
||||
local year = shared.year
|
||||
local date = shared.date
|
||||
|
||||
ls.add_snippets("c", {
|
||||
s(
|
||||
"auth",
|
||||
fmt(
|
||||
[[
|
||||
// Copyright {}
|
||||
// Author - Kristiāns Francis Cagulis, kc22015
|
||||
// {}
|
||||
// Created: {}
|
||||
]],
|
||||
{
|
||||
year(),
|
||||
i(1),
|
||||
date(),
|
||||
}
|
||||
)
|
||||
),
|
||||
s(
|
||||
"fn",
|
||||
fmt(
|
||||
[[
|
||||
// {};
|
||||
// Funkcija {}({}) -
|
||||
// {}
|
||||
{} {{
|
||||
}}
|
||||
]],
|
||||
{
|
||||
same(1),
|
||||
f(function(function_name)
|
||||
if not function_name[1][1] then
|
||||
function_name[1][1] = ""
|
||||
end
|
||||
local words = {}
|
||||
for word in function_name[1][1]:gmatch("%w+") do
|
||||
table.insert(words, word)
|
||||
end
|
||||
return words[2] or ""
|
||||
end, { 1 }),
|
||||
i(2),
|
||||
i(0),
|
||||
i(1),
|
||||
}
|
||||
)
|
||||
),
|
||||
})
|
||||
@ -1,53 +0,0 @@
|
||||
if not pcall(require, "luasnip") then
|
||||
return
|
||||
end
|
||||
|
||||
local ls = require("luasnip")
|
||||
local s = ls.snippet
|
||||
local i = ls.insert_node
|
||||
local fmt = require("luasnip.extras.fmt").fmt
|
||||
|
||||
local shared = require("config.snips")
|
||||
local same = shared.same
|
||||
|
||||
local cmake_version = function()
|
||||
local version = "3.27.4"
|
||||
-- vim.fn.jobstart("cmake --version | head -n 1 | rg -o '\\d+\\.\\d+\\.\\d+'", {})
|
||||
return version
|
||||
end
|
||||
|
||||
ls.add_snippets("cmake", {
|
||||
s(
|
||||
"lib",
|
||||
fmt(
|
||||
[[
|
||||
cmake_minimum_required(VERSION {})
|
||||
project({})
|
||||
add_library(${{PROJECT_NAME}} src/{}.cc)
|
||||
]],
|
||||
{
|
||||
cmake_version(),
|
||||
i(1),
|
||||
same(1),
|
||||
}
|
||||
)
|
||||
),
|
||||
s(
|
||||
"bin",
|
||||
fmt(
|
||||
[[
|
||||
cmake_minimum_required(VERSION {})
|
||||
project({})
|
||||
add_executable(${{PROJECT_NAME}} src/main.cc)
|
||||
target_link_directories(${{PROJECT_NAME}} PRIVATE ${{CMAKE_SOURCE_DIR}}/include/{}/target/build/)
|
||||
target_link_libraries(${{PROJECT_NAME}} {})
|
||||
]],
|
||||
{
|
||||
cmake_version(),
|
||||
i(1),
|
||||
i(2),
|
||||
same(2),
|
||||
}
|
||||
)
|
||||
),
|
||||
})
|
||||
@ -1,61 +0,0 @@
|
||||
if not pcall(require, "luasnip") then
|
||||
return
|
||||
end
|
||||
|
||||
local ls = require("luasnip")
|
||||
local s = ls.snippet
|
||||
local i = ls.insert_node
|
||||
local f = ls.function_node
|
||||
local fmt = require("luasnip.extras.fmt").fmt
|
||||
|
||||
local shared = require("config.snips")
|
||||
local same = shared.same
|
||||
local year = shared.year
|
||||
local date = shared.date
|
||||
|
||||
ls.add_snippets("cpp", {
|
||||
s(
|
||||
"auth",
|
||||
fmt(
|
||||
[[
|
||||
// Copyright {}
|
||||
// Author - Kristiāns Francis Cagulis, kc22015
|
||||
// {}
|
||||
// Created: {}
|
||||
]],
|
||||
{
|
||||
year(),
|
||||
i(1),
|
||||
date(),
|
||||
}
|
||||
)
|
||||
),
|
||||
s(
|
||||
"fn",
|
||||
fmt(
|
||||
[[
|
||||
// {};
|
||||
// Funkcija {}({}) -
|
||||
// {}
|
||||
{} {{
|
||||
}}
|
||||
]],
|
||||
{
|
||||
same(1),
|
||||
f(function(function_name)
|
||||
if not function_name[1][1] then
|
||||
function_name[1][1] = ""
|
||||
end
|
||||
local words = {}
|
||||
for word in function_name[1][1]:gmatch("%w+") do
|
||||
table.insert(words, word)
|
||||
end
|
||||
return words[2] or ""
|
||||
end, { 1 }),
|
||||
i(2),
|
||||
i(0),
|
||||
i(1),
|
||||
}
|
||||
)
|
||||
),
|
||||
})
|
||||
@ -1,145 +0,0 @@
|
||||
if not pcall(require, "luasnip") then
|
||||
return
|
||||
end
|
||||
|
||||
local ls = require("luasnip")
|
||||
local s = ls.snippet
|
||||
local i = ls.insert_node
|
||||
local fmt = require("luasnip.extras.fmt").fmt
|
||||
local shared = require("config.snips")
|
||||
local same = shared.same
|
||||
|
||||
ls.add_snippets("rust", {
|
||||
s(
|
||||
"modtest",
|
||||
fmt(
|
||||
[[
|
||||
#[cfg(test)]
|
||||
mod tests {{
|
||||
use super::*;
|
||||
{}
|
||||
}}
|
||||
]],
|
||||
{
|
||||
i(1),
|
||||
}
|
||||
)
|
||||
),
|
||||
s(
|
||||
"tmain",
|
||||
fmt(
|
||||
[[
|
||||
#[tokio::main]
|
||||
async fn main() -> Result<()> {{
|
||||
Ok(())
|
||||
}}
|
||||
]],
|
||||
{}
|
||||
)
|
||||
),
|
||||
s(
|
||||
"dead",
|
||||
fmt(
|
||||
[[
|
||||
#[allow(dead_code)]
|
||||
]],
|
||||
{}
|
||||
)
|
||||
),
|
||||
s(
|
||||
"component",
|
||||
fmt(
|
||||
[[
|
||||
#[derive(Debug, Reflect, Component)]
|
||||
#[reflect(Component)]
|
||||
struct {}
|
||||
]],
|
||||
{
|
||||
i(1),
|
||||
}
|
||||
)
|
||||
),
|
||||
s(
|
||||
"event",
|
||||
fmt(
|
||||
[[
|
||||
#[derive(Debug, Event)]
|
||||
struct {}
|
||||
]],
|
||||
{
|
||||
i(1),
|
||||
}
|
||||
)
|
||||
),
|
||||
s(
|
||||
"resource",
|
||||
fmt(
|
||||
[[
|
||||
#[derive(Debug, Default, Reflect, Resource)]
|
||||
#[reflect(Resource)]
|
||||
struct {}
|
||||
]],
|
||||
{
|
||||
i(1),
|
||||
}
|
||||
)
|
||||
),
|
||||
s(
|
||||
"schedule",
|
||||
fmt(
|
||||
[[
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, ScheduleLabel)]
|
||||
struct {}
|
||||
]],
|
||||
{
|
||||
i(1),
|
||||
}
|
||||
)
|
||||
),
|
||||
s(
|
||||
"states",
|
||||
fmt(
|
||||
[[
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Default, States)]
|
||||
enum {} {{
|
||||
#[default]
|
||||
{}
|
||||
}}
|
||||
]],
|
||||
{
|
||||
i(1),
|
||||
i(2),
|
||||
}
|
||||
)
|
||||
),
|
||||
s(
|
||||
"systemset",
|
||||
fmt(
|
||||
[[
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, SystemSet)]
|
||||
enum {} {{
|
||||
{}
|
||||
}}
|
||||
]],
|
||||
{
|
||||
i(1),
|
||||
i(2),
|
||||
}
|
||||
)
|
||||
),
|
||||
s(
|
||||
"plugin",
|
||||
fmt(
|
||||
[[
|
||||
use bevy::prelude::*;
|
||||
|
||||
pub(super) fn plugin(app: &mut App) {{
|
||||
{}
|
||||
}}
|
||||
]],
|
||||
{
|
||||
i(1),
|
||||
}
|
||||
)
|
||||
),
|
||||
})
|
||||
@ -1,10 +0,0 @@
|
||||
if not pcall(require, "luasnip") then
|
||||
return
|
||||
end
|
||||
|
||||
local ls = require("luasnip")
|
||||
local s = ls.snippet
|
||||
local i = ls.insert_node
|
||||
local fmt = require("luasnip.extras.fmt").fmt
|
||||
|
||||
ls.add_snippets("typst", {})
|
||||
@ -2,9 +2,9 @@
|
||||
"Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
|
||||
"FixCursorHold.nvim": { "branch": "master", "commit": "1900f89dc17c603eec29960f57c00bd9ae696495" },
|
||||
"LuaSnip": { "branch": "master", "commit": "458560534a73f7f8d7a11a146c801db00b081df0" },
|
||||
"blink-cmp-git": { "branch": "master", "commit": "226b269a50b5ece2ed95933b8d62f103f5d6a05d" },
|
||||
"blink-cmp-git": { "branch": "master", "commit": "e3ad0ffaaa3b3b7e2158cc72cd6dad2d19842c46" },
|
||||
"blink-emoji.nvim": { "branch": "master", "commit": "f22ce8cac02a6ece05368220f1e38bd34fe376f9" },
|
||||
"blink-ripgrep.nvim": { "branch": "main", "commit": "8dd8c8f19fde31b6aa861476efd452aa306e82ba" },
|
||||
"blink-ripgrep.nvim": { "branch": "main", "commit": "0c0d9db740ca70aa739e40f50589b01e537ade6d" },
|
||||
"blink.cmp": { "branch": "main", "commit": "327fff91fe6af358e990be7be1ec8b78037d2138" },
|
||||
"blink.compat": { "branch": "main", "commit": "2ed6d9a28b07fa6f3bface818470605f8896408c" },
|
||||
"catppuccin.nvim": { "branch": "main", "commit": "af58927c55c9f3272c940ff02b3cee94a1249f26" },
|
||||
@ -16,7 +16,6 @@
|
||||
"colorful-menu.nvim": { "branch": "master", "commit": "d5b97d247528be308b6b69d96b5950a30e470f3d" },
|
||||
"conform.nvim": { "branch": "master", "commit": "fbcb4fa7f34bfea9be702ffff481a8e336ebf6ed" },
|
||||
"crates.nvim": { "branch": "main", "commit": "afcd1cc3eeceb5783676fc8464389b9216a29d05" },
|
||||
"cratesearch.nvim": { "branch": "master", "commit": "9d09625d017f6b2e116503f935bc6862961313fa" },
|
||||
"css-vars.nvim": { "branch": "main", "commit": "0615782c320f729b04d9c51a8a61fb498ee4234a" },
|
||||
"csvview.nvim": { "branch": "main", "commit": "bbab4c2f808fd8e11ec8dfdd128251aadba566a1" },
|
||||
"darkplus.nvim": { "branch": "master", "commit": "c7fff5ce62406121fc6c9e4746f118b2b2499c4c" },
|
||||
@ -27,52 +26,54 @@
|
||||
"flow.nvim": { "branch": "main", "commit": "095c54bbaf55473418dd09d61d3167891684cf85" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
|
||||
"gitignore.nvim": { "branch": "master", "commit": "0344f643768c4d64af4add8c1bdddf6f7d4c9010" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "6e3c66548035e50db7bd8e360a29aec6620c3641" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "1ee5c1fd068c81f9dd06483e639c2aa4587dc197" },
|
||||
"gruvbox.nvim": { "branch": "main", "commit": "5e0a460d8e0f7f669c158dedd5f9ae2bcac31437" },
|
||||
"harpoon": { "branch": "harpoon2", "commit": "ed1f853847ffd04b2b61c314865665e1dadf22c7" },
|
||||
"http-codes.nvim": { "branch": "main", "commit": "77aea3a73d5f3134089941ebf6d4172af34a4a8d" },
|
||||
"img-clip.nvim": { "branch": "main", "commit": "f33f3af9ba50f99d70f8fcb1a8575750ada4ea4a" },
|
||||
"hererocks": { "branch": "master", "commit": "160228946bed9998f5e3b168bd0b66ba2690f8f3" },
|
||||
"http-codes.nvim": { "branch": "feature/snacks", "commit": "4b4886c5091a125900a6e319bddd10bc34747bf1" },
|
||||
"image.nvim": { "branch": "master", "commit": "446a8a5cc7a3eae3185ee0c697732c32a5547a0b" },
|
||||
"img-clip.nvim": { "branch": "main", "commit": "e7e29f0d07110405adecd576b602306a7edd507a" },
|
||||
"inlay-hint.nvim": { "branch": "main", "commit": "ee8aa9806d1e160a2bc08b78ae60568fb6d9dbce" },
|
||||
"inlay-hints.nvim": { "branch": "master", "commit": "990e1f96699b8293b6665b9e73b16128c66684e6" },
|
||||
"jupynium.nvim": { "branch": "master", "commit": "144ab6e46d2b42264c16a4f3c780d88feb0a89e8" },
|
||||
"kanagawa.nvim": { "branch": "master", "commit": "27f1e119f3a7e6d11d435a59e3262e6affda1f83" },
|
||||
"kanagawa.nvim": { "branch": "master", "commit": "aef7f5cec0a40dbe7f3304214850c472e2264b10" },
|
||||
"kulala.nvim": { "branch": "main", "commit": "0d50e9ce5c992fe507743d8641b36125e668aad4" },
|
||||
"lackluster.nvim": { "branch": "main", "commit": "70dd682e564784893b984deb51dd5ddd263c8cc7" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "59334064f8604ca073791c25dcc5c9698865406e" },
|
||||
"lazydev.nvim": { "branch": "main", "commit": "258d2a5ef4a3e3d6d9ba9da72c9725c53e9afcbd" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "1ea3c4085785f460fb0e46d2fe1ee895f5f9e7c1" },
|
||||
"lazydev.nvim": { "branch": "main", "commit": "e28ce52fc7ff79fcb76f0e79ee6fb6182fca90b9" },
|
||||
"lsp-progress.nvim": { "branch": "main", "commit": "ae52979ad412371ea6dc39ff70c8dfc681fb42b8" },
|
||||
"lualine-harpoon.nvim": { "branch": "main", "commit": "9ee90e6309c4219d6a06b771b53db6a59c8d32fa" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "b8c23159c0161f4b89196f74ee3a6d02cdc3a955" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "e533fac71bc361768f90004af695cd1f1aa1900a" },
|
||||
"markdown.nvim": { "branch": "master", "commit": "34bb88989ace6c678abd947662668994219996e0" },
|
||||
"markview.nvim": { "branch": "main", "commit": "8c6d294d3d6a59f892c131d76f699b0696a25467" },
|
||||
"markview.nvim": { "branch": "main", "commit": "c93ea99d96b4bfda5b7c7d0dfca9c26edf6e78f0" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "6bdb14f230de0904229ec367b410fb817e59b072" },
|
||||
"mason-nvim-dap.nvim": { "branch": "main", "commit": "86389a3dd687cfaa647b6f44731e492970034baa" },
|
||||
"mason.nvim": { "branch": "main", "commit": "ad7146aa61dcaeb54fa900144d768f040090bff0" },
|
||||
"melange.nvim": { "branch": "master", "commit": "ce42f6b629beeaa00591ba73a77d3eeac4cf28ce" },
|
||||
"mini.icons": { "branch": "main", "commit": "397ed3807e96b59709ef3292f0a3e253d5c1dc0a" },
|
||||
"mini.nvim": { "branch": "main", "commit": "94cae4660a8b2d95dbbd56e1fbc6fcfa2716d152" },
|
||||
"neoconf.nvim": { "branch": "main", "commit": "ca4179bc3f10cc8bd2eff29acbc270a47bbcd298" },
|
||||
"neoconf.nvim": { "branch": "main", "commit": "8786f12ca22cdf2a022bbad1af3650e9f8d2613a" },
|
||||
"neocord": { "branch": "main", "commit": "2ebf3792a8100376bb65fd66d5dbf60f50af7529" },
|
||||
"neogen": { "branch": "main", "commit": "b2e78708876f4da507839726816010a68e33fec8" },
|
||||
"neogit": { "branch": "master", "commit": "e106a39a8a37a9420f374545c876f8b52baf1c80" },
|
||||
"neorg": { "branch": "main", "commit": "e206c9642f4a115cd836e76c98ef785623d335bc" },
|
||||
"neotest": { "branch": "master", "commit": "2cf3544fb55cdd428a9a1b7154aea9c9823426e8" },
|
||||
"neotest": { "branch": "master", "commit": "7166dc36af2760a76479e021e0521e23f62165f1" },
|
||||
"neotest-gtest": { "branch": "main", "commit": "b66f1d33cbf3b37b9803e6bc7ef47ac60eba86b1" },
|
||||
"neotest-python": { "branch": "master", "commit": "7cab6e2ecc260bf61b97ca147574a470bd880cbd" },
|
||||
"neotest-python": { "branch": "master", "commit": "b0d3a861bd85689d8ed73f0590c47963a7eb1bf9" },
|
||||
"neotest-vim-test": { "branch": "master", "commit": "75c4228882ae4883b11bfce9b8383e637eb44192" },
|
||||
"nightfly.nvim": { "branch": "master", "commit": "502136cc4ec2eb94b054a30d583706f1b516c52b" },
|
||||
"nightfly.nvim": { "branch": "master", "commit": "7818d2b40d1e35bd351d673c0ffef4f4bb9230c6" },
|
||||
"nightfox.nvim": { "branch": "main", "commit": "ba47d4b4c5ec308718641ba7402c143836f35aa9" },
|
||||
"noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" },
|
||||
"noice.nvim": { "branch": "main", "commit": "38c702be0d8fea81527ee6a73e1e834e72481193" },
|
||||
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
|
||||
"nvim-colorizer.lua": { "branch": "master", "commit": "51cf7c995ed1eb6642aecf19067ee634fa1b6ba2" },
|
||||
"nvim-dap": { "branch": "master", "commit": "881f7dc17c0b4204a1d844732f95539575350e5b" },
|
||||
"nvim-dap": { "branch": "master", "commit": "6782b097af2417a4c3e33849b0a26ae2188bd7ea" },
|
||||
"nvim-dap-python": { "branch": "master", "commit": "bfe572e4458e0ac876b9539a1e9f301c72db8ea0" },
|
||||
"nvim-dap-ui": { "branch": "master", "commit": "cf91d5e2d07c72903d052f5207511bf7ecdb7122" },
|
||||
"nvim-dap-virtual-text": { "branch": "master", "commit": "fbdb48c2ed45f4a8293d0d483f7730d24467ccb6" },
|
||||
"nvim-dbee": { "branch": "master", "commit": "dda517694889a5d238d7aa407403984da9f80cc0" },
|
||||
"nvim-java": { "branch": "main", "commit": "3d56b7461facb42f135e25b2636bf220a7f0ed42" },
|
||||
"nvim-lint": { "branch": "master", "commit": "9da1fb942dd0668d5182f9c8dee801b9c190e2bb" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "e688b486fe9291f151eae7e5c0b5a5c4ef980847" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "ac98db2f9f06a56498ec890a96928774eae412c3" },
|
||||
"nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
|
||||
"nvim-silicon": { "branch": "main", "commit": "7f66bda8f60c97a5bf4b37e5b8acb0e829ae3c32" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
||||
@ -83,28 +84,27 @@
|
||||
"nvim-ufo": { "branch": "main", "commit": "72d54c31079d38d8dfc5456131b1d0fb5c0264b0" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "b8221e42cf7287c4dcde81f232f58d7b947c210d" },
|
||||
"obsidian.nvim": { "branch": "main", "commit": "ae1f76a75c7ce36866e1d9342a8f6f5b9c2caf9b" },
|
||||
"octo.nvim": { "branch": "master", "commit": "fded71669b61c6ccae9d8ade30f667c3c4962b48" },
|
||||
"oil-git.nvim": { "branch": "main", "commit": "d1f27a5982df35b70fb842aa6bbfac10735c7265" },
|
||||
"oil-lsp-diagnostics.nvim": { "branch": "master", "commit": "e04e3c387262b958fee75382f8ff66eae9d037f4" },
|
||||
"oil.nvim": { "branch": "master", "commit": "975a77cce3c8cb742bc1b3629f4328f5ca977dad" },
|
||||
"onedark.nvim": { "branch": "master", "commit": "de495fabe171d48aed5525f002d14414efcecbb2" },
|
||||
"otter.nvim": { "branch": "main", "commit": "c44d645f03ae96e2e3cdc37f92ecfa93a534b736" },
|
||||
"persistence.nvim": { "branch": "main", "commit": "166a79a55bfa7a4db3e26fc031b4d92af71d0b51" },
|
||||
"persistence.nvim": { "branch": "main", "commit": "51eef57272742b773468949f6bd0503ec3f83874" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
|
||||
"promise-async": { "branch": "main", "commit": "119e8961014c9bfaf1487bf3c2a393d254f337e2" },
|
||||
"rainbow-delimiters.nvim": { "branch": "master", "commit": "3277ad5f96eb03c9d618c88e24f683e4364e578c" },
|
||||
"rainbow_csv.nvim": { "branch": "main", "commit": "26de78d8324f7ac6a3e478319d1eb1f17123eb5b" },
|
||||
"rose-pine.nvim": { "branch": "main", "commit": "72a04c4065345b51b56aed4859ea1d884f734097" },
|
||||
"rustaceanvim": { "branch": "master", "commit": "e9c5aaba16fead831379d5f44617547a90b913c7" },
|
||||
"snacks.nvim": { "branch": "main", "commit": "bfe8c26dbd83f7c4fbc222787552e29b4eccfcc0" },
|
||||
"spellwarn.nvim": { "branch": "main", "commit": "47ada88a843f52f7aa90c018cc7ef514587bc3fd" },
|
||||
"snacks.nvim": { "branch": "main", "commit": "454ba02d69347c0735044f159b95d2495fc79a73" },
|
||||
"tagbar": { "branch": "master", "commit": "7bfffca1f121afb7a9e38747500bf5270e006bb1" },
|
||||
"tailwind-fold.nvim": { "branch": "main", "commit": "d9e7ca11691d252b35795726dff087bf013b2ebf" },
|
||||
"todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" },
|
||||
"tokyonight.nvim": { "branch": "main", "commit": "4d159616aee17796c2c94d2f5f87d2ee1a3f67c7" },
|
||||
"todo-comments.nvim": { "branch": "main", "commit": "19d461ddd543e938eb22505fb03fa878800270b6" },
|
||||
"tokyonight.nvim": { "branch": "main", "commit": "d14614cbfc63b6037bfccd48bb982d2ad2003352" },
|
||||
"tree-sitter-bruno": { "branch": "main", "commit": "347e99f256930213cd7fcd0efe3f9af83035c4b1" },
|
||||
"tree-sitter-ghostty": { "branch": "main", "commit": "2a9ae7233b6707e84b3a79c8778427f58aa4b6d0" },
|
||||
"trouble.nvim": { "branch": "main", "commit": "f176232e7759c4f8abd923c21e3e5a5c76cd6837" },
|
||||
"ts-comments.nvim": { "branch": "main", "commit": "1bd9d0ba1d8b336c3db50692ffd0955fe1bb9f0c" },
|
||||
"trouble.nvim": { "branch": "main", "commit": "c098362fe603d3922095e7db595961e020bdf2d0" },
|
||||
"ts-comments.nvim": { "branch": "main", "commit": "217ab9cc137fceb6659b53790bd25e608219abe1" },
|
||||
"ts-error-translator.nvim": { "branch": "main", "commit": "47e5ba89f71b9e6c72eaaaaa519dd59bd6897df4" },
|
||||
"typecheck.nvim": { "branch": "main", "commit": "5a0b0f50be009e85c337f3e183fa6cd28a3c95a0" },
|
||||
"typescript-tools.nvim": { "branch": "master", "commit": "bf11d98ad5736e1cbc1082ca9a03196d45c701f1" },
|
||||
|
||||
@ -48,13 +48,6 @@ vim.api.nvim_create_autocmd({ "InsertEnter" }, {
|
||||
end,
|
||||
})
|
||||
|
||||
vim.api.nvim_create_autocmd({ "BufWinEnter" }, {
|
||||
pattern = "**/Codnity/**",
|
||||
callback = function()
|
||||
vim.opt.colorcolumn = "92"
|
||||
end,
|
||||
})
|
||||
|
||||
vim.api.nvim_create_autocmd({ "BufWinEnter" }, {
|
||||
pattern = "requirements*.txt",
|
||||
callback = function()
|
||||
@ -62,13 +55,6 @@ vim.api.nvim_create_autocmd({ "BufWinEnter" }, {
|
||||
end,
|
||||
})
|
||||
|
||||
--[[ vim.api.nvim_create_autocmd({ "BufWinEnter" }, {
|
||||
pattern = "**/Codnity/**/*.html",
|
||||
callback = function()
|
||||
vim.cmd("setf htmldjango")
|
||||
end,
|
||||
}) ]]
|
||||
|
||||
-- Autocommand that sources neovim files on save
|
||||
--[[ vim.api.nvim_create_autocmd({ "BufWritePost" }, {
|
||||
group = vim.api.nvim_create_augroup("AutoReloadConfig", { clear = true }),
|
||||
|
||||
@ -39,20 +39,12 @@ nmap("<C-Right>", "<cmd>vertical resize +2<cr>", "Resize window right")
|
||||
nmap("<A-k>", "<cmd>m .-2<cr>==", "Move line up")
|
||||
nmap("<A-j>", "<cmd>m .+1<cr>==", "Move line down")
|
||||
|
||||
-- nmap("<S-s>", ":%s/<C-r><C-w>/<C-r><C-w>/gI<Left><Left><Left>", "[S]ubstitute word")
|
||||
nmap("<S-s>", [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]], "[S]ubstitute word")
|
||||
|
||||
nmap("Q", "@qj", "Run macro")
|
||||
|
||||
nmap("<leader>oo", "<cmd>update<cr><cmd>source<cr>", "Source current file")
|
||||
|
||||
-- vim.keymap.set({ "n", "v", "x" }, "<leader>y", '"+y', { desc = "Yank to system clipboard" })
|
||||
-- vim.keymap.set("n", "<leader>Y", '"+yy', { desc = "Yank line to system clipboard" })
|
||||
|
||||
-- vim.keymap.set({ "n", "v", "x" }, "<leader>p", '"+p', { desc = "Paste from system clipboard" })
|
||||
-- vim.keymap.set("n", "<leader>P", '"+P', { desc = "Paste before cursor from system clipboard" })
|
||||
|
||||
|
||||
vim.keymap.set("n", "<leader>cf", function()
|
||||
local file_path = vim.fn.expand("%:p")
|
||||
vim.cmd([[call setreg("+", "]] .. vim.fn.escape(file_path, '\\ "') .. '")')
|
||||
@ -60,8 +52,8 @@ vim.keymap.set("n", "<leader>cf", function()
|
||||
end, { desc = "Copy file path to clipboard" })
|
||||
|
||||
xmap("Q", ":norm @q<CR>", "Run macro")
|
||||
|
||||
xmap("p", '"_dP')
|
||||
|
||||
vim.keymap.set(
|
||||
"c",
|
||||
"<C-j>",
|
||||
@ -80,11 +72,6 @@ vmap("<", "<gv", "Left Indent")
|
||||
vmap("<A-k>", ":m '<-2<cr>gv=gv", "Move lines up")
|
||||
vmap("<A-j>", ":m '>+1<cr>gv=gv", "Move lines down")
|
||||
|
||||
-- tmap("t", "<C-h>", "<C-\\><C-N><C-w>h")
|
||||
-- tmap("t", "<C-j>", "<C-\\><C-N><C-w>j")
|
||||
-- tmap("t", "<C-k>", "<C-\\><C-N><C-w>k")
|
||||
-- tmap("t", "<C-l>", "<C-\\><C-N><C-w>l")
|
||||
|
||||
local function fzf_sesh_connect()
|
||||
-- build the fzf-tmux command exactly as in your zsh widget
|
||||
local fzf_cmd = [[
|
||||
|
||||
@ -28,9 +28,6 @@ require("lazy").setup({
|
||||
ui = { border = "rounded" },
|
||||
change_detection = { enabled = false },
|
||||
rocks = {
|
||||
hererocks = nil,
|
||||
},
|
||||
dev = {
|
||||
path = "~/repos/nvim/plugins",
|
||||
hererocks = true,
|
||||
},
|
||||
})
|
||||
|
||||
@ -1,78 +0,0 @@
|
||||
if not pcall(require, "luasnip") then
|
||||
return
|
||||
end
|
||||
|
||||
local ls = require("luasnip")
|
||||
local f = ls.function_node
|
||||
local s = ls.snippet
|
||||
local t = ls.text_node
|
||||
local i = ls.insert_node
|
||||
|
||||
--[[
|
||||
local ls = require("luasnip")
|
||||
local s = ls.snippet
|
||||
local sn = ls.snippet_node
|
||||
local isn = ls.indent_snippet_node
|
||||
local t = ls.text_node
|
||||
local i = ls.insert_node
|
||||
local f = ls.function_node
|
||||
local c = ls.choice_node
|
||||
local d = ls.dynamic_node
|
||||
local r = ls.restore_node
|
||||
local events = require("luasnip.util.events")
|
||||
local ai = require("luasnip.nodes.absolute_indexer")
|
||||
local extras = require("luasnip.extras")
|
||||
local l = extras.lambda
|
||||
local rep = extras.rep
|
||||
local p = extras.partial
|
||||
local m = extras.match
|
||||
local n = extras.nonempty
|
||||
local dl = extras.dynamic_lambda
|
||||
local fmt = require("luasnip.extras.fmt").fmt
|
||||
local fmta = require("luasnip.extras.fmt").fmta
|
||||
local conds = require("luasnip.extras.expand_conditions")
|
||||
local postfix = require("luasnip.extras.postfix").postfix
|
||||
local types = require("luasnip.util.types")
|
||||
local parse = require("luasnip.util.parser").parse_snippet
|
||||
local ms = ls.multi_snippet
|
||||
]]
|
||||
|
||||
local shortcut = function(val)
|
||||
if type(val) == "string" then
|
||||
return { t({ val }), i(0) }
|
||||
end
|
||||
if type(val) == "table" then
|
||||
for k, v in ipairs(val) do
|
||||
if type(v) == "string" then
|
||||
val[k] = t({ v })
|
||||
end
|
||||
end
|
||||
end
|
||||
return val
|
||||
end
|
||||
|
||||
local M = {}
|
||||
|
||||
M.same = function(index)
|
||||
return f(function(args)
|
||||
return args[1]
|
||||
end, { index })
|
||||
end
|
||||
|
||||
M.year = function()
|
||||
return os.date("%Y")
|
||||
end
|
||||
|
||||
M.date = function()
|
||||
return os.date("%d.%m.%Y")
|
||||
end
|
||||
|
||||
M.make = function(tbl)
|
||||
local result = {}
|
||||
for k, v in pairs(tbl) do
|
||||
table.insert(result, (s({ trig = k, desc = v.desc }, shortcut(v))))
|
||||
end
|
||||
return result
|
||||
end
|
||||
|
||||
return M
|
||||
@ -29,10 +29,6 @@ return {
|
||||
"epwalsh/obsidian.nvim",
|
||||
event = "BufReadPre " .. vim.fn.expand("~") .. "/Obsidian/**/*.md",
|
||||
},
|
||||
{
|
||||
"kiyoon/jupynium.nvim",
|
||||
event = "BufReadPre *.ju.py",
|
||||
},
|
||||
},
|
||||
version = "*",
|
||||
opts = {
|
||||
@ -75,7 +71,6 @@ return {
|
||||
"buffer",
|
||||
"snippets",
|
||||
"ripgrep",
|
||||
"jupynium",
|
||||
"css_vars",
|
||||
},
|
||||
per_filetype = {
|
||||
@ -140,11 +135,6 @@ return {
|
||||
score_offset = 15,
|
||||
opts = { insert = true },
|
||||
},
|
||||
jupynium = {
|
||||
name = "jupynium",
|
||||
module = "jupynium.blink_cmp",
|
||||
score_offset = 100,
|
||||
},
|
||||
git = {
|
||||
score_offset = 100,
|
||||
module = "blink-cmp-git",
|
||||
|
||||
@ -1,30 +1,4 @@
|
||||
return {
|
||||
"laytan/cloak.nvim",
|
||||
opts = {
|
||||
enabled = true,
|
||||
cloak_character = "*",
|
||||
-- The applied highlight group (colors) on the cloaking, see `:h highlight`.
|
||||
highlight_group = "Comment",
|
||||
-- Applies the length of the replacement characters for all matched
|
||||
-- patterns, defaults to the length of the matched pattern.
|
||||
cloak_length = nil, -- Provide a number if you want to hide the true length of the value.
|
||||
-- Wether it should try every pattern to find the best fit or stop after the first.
|
||||
try_all_patterns = true,
|
||||
patterns = {
|
||||
{
|
||||
-- Match any file starting with '.env'.
|
||||
-- This can be a table to match multiple file patterns.
|
||||
file_pattern = { ".env*" },
|
||||
-- Match an equals sign and any character after it.
|
||||
-- This can also be a table of patterns to cloak,
|
||||
-- example: cloak_pattern = { ':.+', '-.+' } for yaml files.
|
||||
cloak_pattern = "=.+",
|
||||
-- A function, table or string to generate the replacement.
|
||||
-- The actual replacement will contain the 'cloak_character'
|
||||
-- where it doesn't cover the original text.
|
||||
-- If left empty the legacy behavior of keeping the first character is retained.
|
||||
replace = nil,
|
||||
},
|
||||
},
|
||||
},
|
||||
opts = {},
|
||||
}
|
||||
|
||||
@ -3,67 +3,14 @@ return {
|
||||
ft = { "cpp", "c", "cmake" },
|
||||
dependencies = { "nvim-lua/plenary.nvim" },
|
||||
opts = {
|
||||
cmake_command = "cmake", -- this is used to specify cmake command path
|
||||
cmake_regenerate_on_save = true, -- auto generate when save CMakeLists.txt
|
||||
cmake_generate_options = { "-DCMAKE_EXPORT_COMPILE_COMMANDS=1" }, -- this will be passed when invoke `CMakeGenerate`
|
||||
cmake_build_options = {}, -- this will be passed when invoke `CMakeBuild`
|
||||
cmake_build_directory = "target/build/", -- this is used to specify generate directory for cmake
|
||||
cmake_build_directory_prefix = "cmake_build_", -- when cmake_build_directory is set to "", this option will be activated
|
||||
cmake_soft_link_compile_commands = true, -- this will automatically make a soft link from compile commands file to project root dir
|
||||
cmake_compile_commands_from_lsp = false, -- this will automatically set compile commands file location using lsp, to use it, please set `cmake_soft_link_compile_commands` to false
|
||||
cmake_kits_path = nil, -- this is used to specify global cmake kits path, see CMakeKits for detailed usage
|
||||
cmake_variants_message = {
|
||||
short = { show = true }, -- whether to show short message
|
||||
long = { show = true, max_length = 40 }, -- whether to show long message
|
||||
},
|
||||
cmake_dap_configuration = { -- debug settings for cmake
|
||||
name = "cpp",
|
||||
type = "codelldb",
|
||||
request = "launch",
|
||||
stopOnEntry = false,
|
||||
runInTerminal = true,
|
||||
console = "integratedTerminal",
|
||||
},
|
||||
cmake_executor = { -- executor to use
|
||||
name = "quickfix", -- name of the executor
|
||||
opts = {}, -- the options the executor will get, possible values depend on the executor type. See `default_opts` for possible values.
|
||||
default_opts = { -- a list of default and possible values for executors
|
||||
cmake_build_directory = "target/build/",
|
||||
cmake_executor = {
|
||||
default_opts = {
|
||||
quickfix = {
|
||||
show = "only_on_error", -- "always", "only_on_error"
|
||||
position = "belowright", -- "bottom", "top"
|
||||
show = "only_on_error",
|
||||
size = 15,
|
||||
},
|
||||
overseer = {
|
||||
new_task_opts = {}, -- options to pass into the `overseer.new_task` command
|
||||
on_new_task = function(task) end, -- a function that gets overseer.Task when it is created, before calling `task:start`
|
||||
},
|
||||
terminal = {}, -- terminal executor uses the values in cmake_terminal
|
||||
},
|
||||
},
|
||||
cmake_terminal = {
|
||||
name = "terminal",
|
||||
opts = {
|
||||
name = "Main Terminal",
|
||||
prefix_name = "[CMakeTools]: ", -- This must be included and must be unique, otherwise the terminals will not work. Do not use a simple spacebar " ", or any generic name
|
||||
split_direction = "vertical", -- "horizontal", "vertical"
|
||||
split_size = 50,
|
||||
|
||||
-- Window handling
|
||||
single_terminal_per_instance = true, -- Single viewport, multiple windows
|
||||
single_terminal_per_tab = true, -- Single viewport per tab
|
||||
keep_terminal_static_location = true, -- Static location of the viewport if avialable
|
||||
|
||||
-- Running Tasks
|
||||
start_insert_in_launch_task = false, -- If you want to enter terminal with :startinsert upon using :CMakeRun
|
||||
start_insert_in_other_tasks = false, -- If you want to enter terminal with :startinsert upon launching all other cmake tasks in the terminal. Generally set as false
|
||||
focus_on_main_terminal = false, -- Focus on cmake terminal when cmake task is launched. Only used if executor is terminal.
|
||||
focus_on_launch_terminal = false, -- Focus on cmake launch terminal when executable target in launched.
|
||||
},
|
||||
},
|
||||
cmake_notifications = {
|
||||
enabled = true, -- show cmake execution progress in nvim-notify
|
||||
spinner = { "⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏" }, -- icons used for progress display
|
||||
refresh_rate_ms = 100, -- how often to iterate icons
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
@ -1,49 +1,16 @@
|
||||
return {
|
||||
"NvChad/nvim-colorizer.lua",
|
||||
"catgoose/nvim-colorizer.lua",
|
||||
event = "BufReadPre",
|
||||
opts = {
|
||||
filetypes = {
|
||||
"html",
|
||||
"javascriptreact",
|
||||
"css",
|
||||
"javascript",
|
||||
"lua",
|
||||
"yaml",
|
||||
"conf",
|
||||
"toml",
|
||||
"scss",
|
||||
"python",
|
||||
"typst",
|
||||
"htmldjango",
|
||||
"conf",
|
||||
"rust",
|
||||
"kdl",
|
||||
"ini",
|
||||
},
|
||||
user_default_options = {
|
||||
RGB = true, -- #RGB hex codes
|
||||
RRGGBB = true, -- #RRGGBB hex codes
|
||||
names = false, -- "Name" codes like Blue or blue
|
||||
RRGGBBAA = true, -- #RRGGBBAA hex codes
|
||||
AARRGGBB = true, -- 0xAARRGGBB hex codes
|
||||
rgb_fn = true, -- CSS rgb() and rgba() functions
|
||||
hsl_fn = true, -- CSS hsl() and hsla() functions
|
||||
css = true, -- Enable all CSS features: rgb_fn, hsl_fn, names, RGB, RRGGBB
|
||||
css_fn = true, -- Enable all CSS *functions*: rgb_fn, hsl_fn
|
||||
-- Available modes for `mode`: foreground, background, virtualtext
|
||||
mode = "background", -- Set the display mode.
|
||||
-- Available methods are false / true / "normal" / "lsp" / "both"
|
||||
-- True is same as normal
|
||||
tailwind = true, -- Enable tailwind colors
|
||||
-- parsers can contain values used in |user_default_options|
|
||||
sass = {
|
||||
enable = true,
|
||||
parsers = { "css" },
|
||||
}, -- Enable sass colors
|
||||
virtualtext = "■",
|
||||
names = false,
|
||||
css = true,
|
||||
css_fn = true,
|
||||
tailwind = true,
|
||||
tailwind_opts = {
|
||||
update_names = true,
|
||||
},
|
||||
sass = { enable = true, parsers = { "css" } },
|
||||
},
|
||||
-- all the sub-options of filetypes apply to buftypes
|
||||
buftypes = {},
|
||||
html = { names = true },
|
||||
css = { names = true },
|
||||
},
|
||||
}
|
||||
|
||||
@ -1,61 +1,5 @@
|
||||
return {
|
||||
"numToStr/Comment.nvim",
|
||||
event = { "BufReadPre", "BufNewFile" },
|
||||
opts = {
|
||||
---Add a space b/w comment and the line
|
||||
padding = true,
|
||||
---Whether the cursor should stay at its position
|
||||
sticky = true,
|
||||
---Lines to be ignored while (un)comment
|
||||
ignore = nil,
|
||||
---LHS of toggle mappings in NORMAL mode
|
||||
toggler = {
|
||||
---Line-comment toggle keymap
|
||||
line = "gcc",
|
||||
---Block-comment toggle keymap
|
||||
block = "gbb",
|
||||
},
|
||||
-- -LHS of operator-pending mappings in NORMAL and VISUAL mode
|
||||
opleader = {
|
||||
---Line-comment keymap
|
||||
line = "gc",
|
||||
---Block-comment keymap
|
||||
block = "gb",
|
||||
},
|
||||
---LHS of extra mappings
|
||||
extra = {
|
||||
---Add comment on the line above
|
||||
above = "gcO",
|
||||
---Add comment on the line below
|
||||
below = "gco",
|
||||
---Add comment at the end of line
|
||||
eol = "gcA",
|
||||
},
|
||||
--- Enable keybindings
|
||||
--- NOTE: If given `false` then the plugin won't create any mappings
|
||||
mappings = {
|
||||
---Operator-pending mapping; `gcc` `gbc` `gc[count]{motion}` `gb[count]{motion}`
|
||||
basic = true,
|
||||
---Extra mapping; `gco`, `gcO`, `gcA`
|
||||
extra = true,
|
||||
---Extended mapping; `g>` `g<` `g>[count]{motion}` `g<[count]{motion}`
|
||||
extended = true,
|
||||
},
|
||||
---Function to call before (un)comment
|
||||
-- pre_hook = function(ctx)
|
||||
-- local U = require("Comment.utils")
|
||||
--
|
||||
-- local location = nil
|
||||
-- if ctx.ctype == U.ctype.block then
|
||||
-- location = require("ts_context_commentstring.utils").get_cursor_location()
|
||||
-- elseif ctx.cmotion == U.cmotion.v or ctx.cmotion == U.cmotion.V then
|
||||
-- location = require("ts_context_commentstring.utils").get_visual_start_location()
|
||||
-- end
|
||||
--
|
||||
-- return require("ts_context_commentstring.internal").calculate_commentstring({
|
||||
-- key = ctx.ctype == U.ctype.line and "__default" or "__multiline",
|
||||
-- location = location,
|
||||
-- })
|
||||
-- end,
|
||||
},
|
||||
opts = {},
|
||||
}
|
||||
|
||||
@ -12,7 +12,7 @@ return {
|
||||
function()
|
||||
require("conform").format({ async = true, lsp_fallback = "fallback" })
|
||||
end,
|
||||
mode = "",
|
||||
mode = { "n", "v", "x" },
|
||||
desc = "Format buffer",
|
||||
},
|
||||
},
|
||||
@ -33,7 +33,13 @@ return {
|
||||
javascript = js,
|
||||
javascriptreact = js,
|
||||
json = { "jq" },
|
||||
lua = { "stylua" },
|
||||
lua = function()
|
||||
local config_file = vim.fn.getcwd() .. "/*stylua.toml"
|
||||
if vim.fn.exists(config_file) then
|
||||
return { "stylua" }
|
||||
end
|
||||
return {}
|
||||
end,
|
||||
markdown = makrdown,
|
||||
python = { "ruff_format", "ruff_fix", "ruff_organize_imports", "docformatter" },
|
||||
rest = { "kulala" },
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
return {
|
||||
{
|
||||
|
||||
"Saecki/crates.nvim",
|
||||
tag = "stable",
|
||||
event = { "BufRead Cargo.toml" },
|
||||
@ -18,143 +16,7 @@ return {
|
||||
enabled = true,
|
||||
},
|
||||
},
|
||||
smart_insert = true,
|
||||
insert_closing_quote = true,
|
||||
autoload = true,
|
||||
autoupdate = true,
|
||||
loading_indicator = true,
|
||||
date_format = "%d-%m-%Y",
|
||||
thousands_separator = ".",
|
||||
notification_title = "Crates",
|
||||
-- disable_invalid_feature_diagnostic = false,
|
||||
text = {
|
||||
loading = " Loading",
|
||||
version = " %s",
|
||||
prerelease = " %s",
|
||||
yanked = " %s",
|
||||
nomatch = " No match",
|
||||
upgrade = " %s",
|
||||
error = " Error fetching crate",
|
||||
},
|
||||
highlight = {
|
||||
loading = "CratesNvimLoading",
|
||||
version = "CratesNvimVersion",
|
||||
prerelease = "CratesNvimPreRelease",
|
||||
yanked = "CratesNvimYanked",
|
||||
nomatch = "CratesNvimNoMatch",
|
||||
upgrade = "CratesNvimUpgrade",
|
||||
error = "CratesNvimError",
|
||||
},
|
||||
popup = {
|
||||
autofocus = false,
|
||||
copy_register = '"',
|
||||
style = "minimal",
|
||||
border = "none",
|
||||
show_version_date = false,
|
||||
show_dependency_version = true,
|
||||
max_height = 30,
|
||||
min_width = 20,
|
||||
padding = 1,
|
||||
text = {
|
||||
title = " %s",
|
||||
pill_left = "",
|
||||
pill_right = "",
|
||||
description = "%s",
|
||||
created_label = " created ",
|
||||
created = "%s",
|
||||
updated_label = " updated ",
|
||||
updated = "%s",
|
||||
downloads_label = " downloads ",
|
||||
downloads = "%s",
|
||||
homepage_label = " homepage ",
|
||||
homepage = "%s",
|
||||
repository_label = " repository ",
|
||||
repository = "%s",
|
||||
documentation_label = " documentation ",
|
||||
documentation = "%s",
|
||||
crates_io_label = " crates.io ",
|
||||
crates_io = "%s",
|
||||
categories_label = " categories ",
|
||||
keywords_label = " keywords ",
|
||||
version = " %s",
|
||||
prerelease = " %s",
|
||||
yanked = " %s",
|
||||
version_date = " %s",
|
||||
feature = " %s",
|
||||
enabled = " %s",
|
||||
transitive = " %s",
|
||||
normal_dependencies_title = " Dependencies",
|
||||
build_dependencies_title = " Build dependencies",
|
||||
dev_dependencies_title = " Dev dependencies",
|
||||
dependency = " %s",
|
||||
optional = " %s",
|
||||
dependency_version = " %s",
|
||||
loading = " ",
|
||||
},
|
||||
highlight = {
|
||||
title = "CratesNvimPopupTitle",
|
||||
pill_text = "CratesNvimPopupPillText",
|
||||
pill_border = "CratesNvimPopupPillBorder",
|
||||
description = "CratesNvimPopupDescription",
|
||||
created_label = "CratesNvimPopupLabel",
|
||||
created = "CratesNvimPopupValue",
|
||||
updated_label = "CratesNvimPopupLabel",
|
||||
updated = "CratesNvimPopupValue",
|
||||
downloads_label = "CratesNvimPopupLabel",
|
||||
downloads = "CratesNvimPopupValue",
|
||||
homepage_label = "CratesNvimPopupLabel",
|
||||
homepage = "CratesNvimPopupUrl",
|
||||
repository_label = "CratesNvimPopupLabel",
|
||||
repository = "CratesNvimPopupUrl",
|
||||
documentation_label = "CratesNvimPopupLabel",
|
||||
documentation = "CratesNvimPopupUrl",
|
||||
crates_io_label = "CratesNvimPopupLabel",
|
||||
crates_io = "CratesNvimPopupUrl",
|
||||
categories_label = "CratesNvimPopupLabel",
|
||||
keywords_label = "CratesNvimPopupLabel",
|
||||
version = "CratesNvimPopupVersion",
|
||||
prerelease = "CratesNvimPopupPreRelease",
|
||||
yanked = "CratesNvimPopupYanked",
|
||||
version_date = "CratesNvimPopupVersionDate",
|
||||
feature = "CratesNvimPopupFeature",
|
||||
enabled = "CratesNvimPopupEnabled",
|
||||
transitive = "CratesNvimPopupTransitive",
|
||||
normal_dependencies_title = "CratesNvimPopupNormalDependenciesTitle",
|
||||
build_dependencies_title = "CratesNvimPopupBuildDependenciesTitle",
|
||||
dev_dependencies_title = "CratesNvimPopupDevDependenciesTitle",
|
||||
dependency = "CratesNvimPopupDependency",
|
||||
optional = "CratesNvimPopupOptional",
|
||||
dependency_version = "CratesNvimPopupDependencyVersion",
|
||||
loading = "CratesNvimPopupLoading",
|
||||
},
|
||||
keys = {
|
||||
hide = { "q", "<esc>" },
|
||||
open_url = { "<cr>" },
|
||||
select = { "<cr>" },
|
||||
select_alt = { "s" },
|
||||
toggle_feature = { "<cr>" },
|
||||
copy_value = { "yy" },
|
||||
goto_item = { "gd", "K", "<C-LeftMouse>" },
|
||||
jump_forward = { "<c-i>" },
|
||||
jump_back = { "<c-o>", "<C-RightMouse>" },
|
||||
},
|
||||
},
|
||||
--[[ src = {
|
||||
insert_closing_quote = true,
|
||||
text = {
|
||||
prerelease = " pre-release ",
|
||||
yanked = " yanked ",
|
||||
},
|
||||
}, ]]
|
||||
},
|
||||
},
|
||||
{
|
||||
"Aityz/cratesearch.nvim",
|
||||
event = { "BufRead Cargo.toml" },
|
||||
ft = { "rust" },
|
||||
cmd = { "CrateSearch" },
|
||||
config = function()
|
||||
require("cratesearch").setup()
|
||||
end,
|
||||
thousands_separator = " ",
|
||||
},
|
||||
}
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
return {
|
||||
"wintermute-cell/gitignore.nvim",
|
||||
dependencies = {},
|
||||
cmd = { "Gitignore" },
|
||||
keys = {
|
||||
{
|
||||
@ -11,7 +10,4 @@ return {
|
||||
desc = "Git Ignore",
|
||||
},
|
||||
},
|
||||
config = function()
|
||||
require("gitignore")
|
||||
end,
|
||||
}
|
||||
|
||||
@ -1,61 +0,0 @@
|
||||
return {
|
||||
"lewis6991/gitsigns.nvim",
|
||||
enabled = false,
|
||||
event = "BufReadPre",
|
||||
cmd = "Gitsigns",
|
||||
keys = {
|
||||
{
|
||||
"<leader>gb",
|
||||
function()
|
||||
vim.cmd.Gitsigns("blame_line")
|
||||
end,
|
||||
desc = "Git Blame",
|
||||
},
|
||||
},
|
||||
opts = {
|
||||
signs = {
|
||||
add = { text = "┃" },
|
||||
change = { text = "┃" },
|
||||
delete = { text = "_" },
|
||||
topdelete = { text = "‾" },
|
||||
changedelete = { text = "~" },
|
||||
untracked = { text = "┆" },
|
||||
},
|
||||
signcolumn = true, -- Toggle with `:Gitsigns toggle_signs`
|
||||
numhl = false, -- Toggle with `:Gitsigns toggle_numhl`
|
||||
linehl = false, -- Toggle with `:Gitsigns toggle_linehl`
|
||||
word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff`
|
||||
watch_gitdir = {
|
||||
follow_files = true,
|
||||
},
|
||||
auto_attach = true,
|
||||
attach_to_untracked = true,
|
||||
current_line_blame = false, -- Toggle with `:Gitsigns toggle_current_line_blame`
|
||||
current_line_blame_opts = {
|
||||
virt_text = true,
|
||||
virt_text_pos = "eol", -- 'eol' | 'overlay' | 'right_align'
|
||||
delay = 100,
|
||||
ignore_whitespace = false,
|
||||
virt_text_priority = 100,
|
||||
},
|
||||
current_line_blame_formatter = "<author>, <author_time:%R> - <summary>",
|
||||
sign_priority = 6,
|
||||
update_debounce = 100,
|
||||
status_formatter = nil, -- Use default
|
||||
max_file_length = 10000, -- Disable if file is longer than this (in lines)
|
||||
preview_config = {
|
||||
-- Options passed to nvim_open_win
|
||||
border = "single",
|
||||
style = "minimal",
|
||||
relative = "cursor",
|
||||
row = 0,
|
||||
col = 1,
|
||||
},
|
||||
on_attach = function(bufnr)
|
||||
if vim.api.nvim_buf_get_name(bufnr):match("%.ipynb$") then
|
||||
-- Do not attach for .ipynb file, since these are converted with jupytext.nvim
|
||||
return false
|
||||
end
|
||||
end,
|
||||
},
|
||||
}
|
||||
@ -1,7 +1,10 @@
|
||||
return {
|
||||
"barrett-ruth/http-codes.nvim",
|
||||
dependencies = { "folke/snacks.nvim" },
|
||||
"kristoferssolo/http-codes.nvim",
|
||||
branch = "feature/snacks",
|
||||
dependencies = "folke/snacks.nvim",
|
||||
cmd = "HTTPCodes",
|
||||
keys = { { "<leader>pdh", vim.cmd.HTTPCodes, desc = "HTTP" } },
|
||||
config = true,
|
||||
keys = { { "<leader>pH", vim.cmd.HTTPCodes, desc = "HTTP" } },
|
||||
opts = {
|
||||
use = "snacks",
|
||||
},
|
||||
}
|
||||
|
||||
@ -9,7 +9,6 @@ return {
|
||||
end,
|
||||
},
|
||||
{
|
||||
|
||||
"<A-p>",
|
||||
function()
|
||||
require("illuminate").goto_prev_reference()
|
||||
|
||||
@ -2,6 +2,40 @@ local function is_typst()
|
||||
return vim.bo.filetype == "typst"
|
||||
end
|
||||
return {
|
||||
{
|
||||
"3rd/image.nvim",
|
||||
opts = {
|
||||
backend = "ueberzug",
|
||||
processor = "magick_rock",
|
||||
scale_factor = 0.5,
|
||||
integrations = {
|
||||
neorg = {
|
||||
clear_in_insert_mode = true,
|
||||
only_render_image_at_cursor = true,
|
||||
only_render_image_at_cursor_mode = "popup",
|
||||
},
|
||||
typst = {
|
||||
enabled = false,
|
||||
clear_in_insert_mode = true,
|
||||
only_render_image_at_cursor = true,
|
||||
only_render_image_at_cursor_mode = "popup",
|
||||
},
|
||||
markdown = {
|
||||
clear_in_insert_mode = true,
|
||||
only_render_image_at_cursor = true,
|
||||
only_render_image_at_cursor_mode = "popup",
|
||||
resolve_image_path = function(document_path, image_path, fallback)
|
||||
local working_dir = vim.fn.getcwd()
|
||||
if working_dir:find("Obsidian") then
|
||||
return working_dir .. "/assets/img/" .. image_path
|
||||
end
|
||||
return fallback(document_path, image_path)
|
||||
end,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"HakonHarnes/img-clip.nvim",
|
||||
event = "VeryLazy",
|
||||
keys = {
|
||||
@ -26,9 +60,7 @@ return {
|
||||
end,
|
||||
file_name = "%Y-%m-%d_%H-%M-%S",
|
||||
relative_to_current_file = false,
|
||||
prompt_for_file_name = function()
|
||||
return is_typst()
|
||||
end,
|
||||
prompt_for_file_name = is_typst,
|
||||
embed_image_as_base64 = false,
|
||||
drag_and_drop = {
|
||||
insert_mode = true,
|
||||
@ -51,4 +83,5 @@ return {
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
@ -3,9 +3,6 @@ return {
|
||||
"MysticalDevil/inlay-hints.nvim",
|
||||
event = "LspAttach",
|
||||
dependencies = { "neovim/nvim-lspconfig" },
|
||||
keys = {
|
||||
{ "<leader>oi", vim.cmd.InlayHintsToggle, desc = "Toggle InlayHints" },
|
||||
},
|
||||
opts = {
|
||||
commands = { enable = true }, -- Enable InlayHints commands, include `InlayHintsToggle`, `InlayHintsEnable` and `InlayHintsDisable`
|
||||
autocmd = { enable = true }, -- Enable the inlay hints on `LspAttach` event
|
||||
|
||||
@ -3,8 +3,6 @@ return {
|
||||
ft = "lua",
|
||||
opts = {
|
||||
library = {
|
||||
-- See the configuration section for more details
|
||||
-- Load luvit types when the `vim.uv` word is found
|
||||
{ path = "${3rd}/luv/library", words = { "vim%.uv" } },
|
||||
},
|
||||
},
|
||||
|
||||
@ -66,7 +66,7 @@ return {
|
||||
vim.lsp.buf.hover({ border = "rounded" })
|
||||
end, "Hover Documentation")
|
||||
nmap("gi", vim.lsp.buf.implementation, "[G]oto [I]mplementation")
|
||||
vim.keymap.set("i", "<C-h>", function()
|
||||
vim.keymap.set("i", "<C-H>", function()
|
||||
vim.lsp.buf.signature_help({ border = "rounded" })
|
||||
end, { buffer = event.buf, desc = "LSP: Signature Documentation" })
|
||||
nmap("<leader>wa", vim.lsp.buf.add_workspace_folder, "[W]orkspace [A]dd Folder")
|
||||
@ -85,13 +85,13 @@ return {
|
||||
vim.diagnostic.jump({ count = -1, float = true })
|
||||
end, "Diagnostic Prev")
|
||||
nmap("]d", function()
|
||||
trouble:next({ mode = "diagnostics", skip_groups = true, jump = true })
|
||||
trouble.next({ mode = "diagnostics", skip_groups = true, jump = true })
|
||||
end, "LSP: Trouble Next")
|
||||
nmap("[d", function()
|
||||
trouble.prev({ mode = "diagnostics", skip_groups = true, jump = true })
|
||||
end, "Trouble Prev")
|
||||
vim.keymap.set(
|
||||
{ "n", "v" },
|
||||
{ "n", "v", "x" },
|
||||
"<leader>la",
|
||||
vim.lsp.buf.code_action,
|
||||
{ buffer = event.buf, desc = "LSP: Code [A]ction" }
|
||||
@ -99,7 +99,9 @@ return {
|
||||
nmap("gr", function()
|
||||
trouble.toggle("lsp_references")
|
||||
end, "[G]oto [R]eferences")
|
||||
nmap("gR", function() Snacks.picker.lsp_references() end, "[G]oto [R]eferences")
|
||||
nmap("gR", function()
|
||||
Snacks.picker.lsp_references()
|
||||
end, "[G]oto [R]eferences")
|
||||
end,
|
||||
})
|
||||
|
||||
@ -140,7 +142,6 @@ return {
|
||||
"gopls",
|
||||
"html",
|
||||
"hyprls",
|
||||
"jdtls",
|
||||
"jinja_lsp",
|
||||
"jsonls",
|
||||
"lua_ls",
|
||||
@ -194,38 +195,42 @@ return {
|
||||
lua_ls = {
|
||||
settings = {
|
||||
Lua = {
|
||||
runtime = {
|
||||
-- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim)
|
||||
version = "LuaJIT",
|
||||
},
|
||||
diagnostics = {
|
||||
-- Get the language server to recognize the `vim` global
|
||||
globals = { "vim", "awesome", "client", "ya" },
|
||||
globals = {
|
||||
"vim",
|
||||
"awesome",
|
||||
"client",
|
||||
"s",
|
||||
"sn",
|
||||
"isn",
|
||||
"t",
|
||||
"i",
|
||||
"f",
|
||||
"c",
|
||||
"d",
|
||||
"r",
|
||||
"events",
|
||||
"k",
|
||||
"ai",
|
||||
"extras",
|
||||
"l",
|
||||
"rep",
|
||||
"p",
|
||||
"m",
|
||||
"n",
|
||||
"dl",
|
||||
"fmt",
|
||||
"fmta",
|
||||
"conds",
|
||||
"postfix",
|
||||
"types",
|
||||
"parse",
|
||||
"ms",
|
||||
},
|
||||
-- workspace = {
|
||||
-- Make the server aware of Neovim runtime files
|
||||
-- library = vim.api.nvim_get_runtime_file("", true),
|
||||
-- },
|
||||
-- Do not send telemetry data containing a randomized but unique identifier
|
||||
telemetry = {
|
||||
enable = false,
|
||||
},
|
||||
root_pattern = {
|
||||
".stylua.toml",
|
||||
".luarc.json",
|
||||
".luarc.jsonc",
|
||||
".luacheckrc",
|
||||
"stylua.toml",
|
||||
"selene.toml",
|
||||
"selene.yml",
|
||||
".git",
|
||||
},
|
||||
format = {
|
||||
enable = false,
|
||||
},
|
||||
hint = {
|
||||
enable = true,
|
||||
},
|
||||
telemetry = { enable = false },
|
||||
format = { enable = true },
|
||||
hint = { enable = true },
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
@ -3,20 +3,13 @@ return {
|
||||
"L3MON4D3/LuaSnip",
|
||||
build = "make install_jsregexp",
|
||||
version = "v2.*",
|
||||
dependencies = {
|
||||
"rafamadriz/friendly-snippets", -- a bunch of snippets to use
|
||||
},
|
||||
dependencies = { "rafamadriz/friendly-snippets" },
|
||||
opts = function()
|
||||
local types = require("luasnip.util.types")
|
||||
return {
|
||||
-- This tells LuaSnip to remember to keep around the last snippet.
|
||||
-- You can jump back into it even if you move outside of the selection
|
||||
history = true,
|
||||
-- This one is cool cause if you have dynamic snippets, it updates as you type!
|
||||
updateevents = "TextChanged,TextChangedI",
|
||||
-- Autosnippets:
|
||||
enable_autosnippets = true,
|
||||
-- Crazy highlights!!
|
||||
ext_opts = {
|
||||
[types.choiceNode] = {
|
||||
active = {
|
||||
@ -29,32 +22,6 @@ return {
|
||||
config = function(_, opts)
|
||||
local ls = require("luasnip")
|
||||
|
||||
local s = ls.snippet
|
||||
local sn = ls.snippet_node
|
||||
local isn = ls.indent_snippet_node
|
||||
local t = ls.text_node
|
||||
local i = ls.insert_node
|
||||
local f = ls.function_node
|
||||
local c = ls.choice_node
|
||||
local d = ls.dynamic_node
|
||||
local r = ls.restore_node
|
||||
local events = require("luasnip.util.events")
|
||||
local ai = require("luasnip.nodes.absolute_indexer")
|
||||
local extras = require("luasnip.extras")
|
||||
local l = extras.lambda
|
||||
local rep = extras.rep
|
||||
local p = extras.partial
|
||||
local m = extras.match
|
||||
local n = extras.nonempty
|
||||
local dl = extras.dynamic_lambda
|
||||
local fmt = require("luasnip.extras.fmt").fmt
|
||||
local fmta = require("luasnip.extras.fmt").fmta
|
||||
local conds = require("luasnip.extras.expand_conditions")
|
||||
local postfix = require("luasnip.extras.postfix").postfix
|
||||
local types = require("luasnip.util.types")
|
||||
local parse = require("luasnip.util.parser").parse_snippet
|
||||
local ms = ls.multi_snippet
|
||||
|
||||
vim.keymap.set({ "i", "s" }, "<C-j>", function()
|
||||
if ls.expand_or_jumpable() then
|
||||
ls.expand_or_jump()
|
||||
@ -83,15 +50,11 @@ return {
|
||||
|
||||
require("luasnip.loaders.from_vscode").load({
|
||||
exclude = {
|
||||
"rust",
|
||||
rust = {
|
||||
"modtest",
|
||||
},
|
||||
rust = { "modtest" },
|
||||
},
|
||||
})
|
||||
vim.tbl_map(function(type)
|
||||
require("luasnip.loaders.from_" .. type).lazy_load()
|
||||
end, { "vscode", "snipmate", "lua" })
|
||||
|
||||
require("luasnip.loaders.from_lua").load({ paths = vim.fn.stdpath("config") .. "/snippets/" })
|
||||
|
||||
ls.filetype_extend("typescript", { "tsdoc" })
|
||||
ls.filetype_extend("javascript", { "jsdoc" })
|
||||
|
||||
@ -1,77 +1,17 @@
|
||||
return {
|
||||
{
|
||||
"tadmccorkle/markdown.nvim",
|
||||
ft = { "markdown", "Avante" },
|
||||
opts = {
|
||||
-- Disable all keymaps by setting mappings field to 'false'.
|
||||
-- Selectively disable keymaps by setting corresponding field to 'false'.
|
||||
mappings = {
|
||||
inline_surround_toggle = "gs", -- (string|boolean) toggle inline style
|
||||
inline_surround_toggle_line = "gss", -- (string|boolean) line-wise toggle inline style
|
||||
inline_surround_delete = "ds", -- (string|boolean) delete emphasis surrounding cursor
|
||||
inline_surround_change = "cs", -- (string|boolean) change emphasis surrounding cursor
|
||||
link_add = "gl", -- (string|boolean) add link
|
||||
link_follow = "gx", -- (string|boolean) follow link
|
||||
go_curr_heading = "]c", -- (string|boolean) set cursor to current section heading
|
||||
go_parent_heading = "]p", -- (string|boolean) set cursor to parent section heading
|
||||
go_next_heading = "]]", -- (string|boolean) set cursor to next section heading
|
||||
go_prev_heading = "[[", -- (string|boolean) set cursor to previous section heading
|
||||
},
|
||||
inline_surround = {
|
||||
-- For the emphasis, strong, strikethrough, and code fields:
|
||||
-- * 'key': used to specify an inline style in toggle, delete, and change operations
|
||||
-- * 'txt': text inserted when toggling or changing to the corresponding inline style
|
||||
emphasis = {
|
||||
key = "i",
|
||||
txt = "*",
|
||||
},
|
||||
strong = {
|
||||
key = "b",
|
||||
txt = "**",
|
||||
},
|
||||
strikethrough = {
|
||||
key = "s",
|
||||
txt = "~~",
|
||||
},
|
||||
code = {
|
||||
key = "c",
|
||||
txt = "`",
|
||||
},
|
||||
},
|
||||
link = {
|
||||
paste = {
|
||||
enable = true, -- whether to convert URLs to links on paste
|
||||
},
|
||||
},
|
||||
toc = {
|
||||
-- Comment text to flag headings/sections for omission in table of contents.
|
||||
omit_heading = "toc omit heading",
|
||||
omit_section = "toc omit section",
|
||||
-- Cycling list markers to use in table of contents.
|
||||
-- Use '.' and ')' for ordered lists.
|
||||
markers = { "-" },
|
||||
},
|
||||
-- Hook functions allow for overriding or extending default behavior.
|
||||
-- Called with a table of options and a fallback function with default behavior.
|
||||
-- Signature: fun(opts: table, fallback: fun())
|
||||
hooks = {
|
||||
-- Called when following links. Provided the following options:
|
||||
-- * 'dest' (string): the link destination
|
||||
-- * 'use_default_app' (boolean|nil): whether to open the destination with default application
|
||||
-- (refer to documentation on <Plug> mappings for explanation of when this option is used)
|
||||
follow_link = nil,
|
||||
},
|
||||
on_attach = nil, -- (fun(bufnr: integer)) callback when plugin attaches to a buffer
|
||||
},
|
||||
ft = { "markdown" },
|
||||
opts = {},
|
||||
},
|
||||
{
|
||||
"OXY2DEV/markview.nvim",
|
||||
dependencies = {
|
||||
"saghen/blink.cmp",
|
||||
{ "echasnovski/mini.icons", version = "*" },
|
||||
},
|
||||
ft = { "markdown", "Avante" },
|
||||
ft = { "markdown" },
|
||||
lazy = false,
|
||||
priority = 49,
|
||||
opts = {
|
||||
preview = {
|
||||
icon_provider = "mini",
|
||||
|
||||
@ -4,10 +4,10 @@ return {
|
||||
opts = {
|
||||
enabled = {
|
||||
"ai",
|
||||
"diff",
|
||||
-- "pairs",
|
||||
"splitjoin",
|
||||
"surround",
|
||||
"diff",
|
||||
},
|
||||
},
|
||||
config = function(_, opts)
|
||||
|
||||
@ -1,43 +0,0 @@
|
||||
return {
|
||||
"folke/neoconf.nvim",
|
||||
cmd = { "Neoconf" },
|
||||
opts = {
|
||||
-- name of the local settings files
|
||||
local_settings = ".neoconf.json",
|
||||
-- name of the global settings file in your Neovim config directory
|
||||
global_settings = "neoconf.json",
|
||||
-- import existing settings from other plugins
|
||||
import = {
|
||||
vscode = true, -- local .vscode/settings.json
|
||||
coc = true, -- global/local coc-settings.json
|
||||
nlsp = true, -- global/local nlsp-settings.nvim json settings
|
||||
},
|
||||
-- send new configuration to lsp clients when changing json settings
|
||||
live_reload = true,
|
||||
-- set the filetype to jsonc for settings files, so you can use comments
|
||||
-- make sure you have the jsonc treesitter parser installed!
|
||||
filetype_jsonc = true,
|
||||
plugins = {
|
||||
-- configures lsp clients with settings in the following order:
|
||||
-- - lua settings passed in lspconfig setup
|
||||
-- - global json settings
|
||||
-- - local json settings
|
||||
lspconfig = {
|
||||
enabled = true,
|
||||
},
|
||||
-- configures jsonls to get completion in .nvim.settings.json files
|
||||
jsonls = {
|
||||
enabled = true,
|
||||
-- only show completion in json settings for configured lsp servers
|
||||
configured_servers_only = true,
|
||||
},
|
||||
-- configures lua_ls to get completion of lspconfig server settings
|
||||
lua_ls = {
|
||||
-- by default, lua_ls annotations are only enabled in your neovim config directory
|
||||
enabled_for_neovim_config = true,
|
||||
-- explicitly enable adding annotations. Mostly relevant to put in your local .nvim.settings.json file
|
||||
enabled = false,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
@ -31,7 +31,6 @@ return {
|
||||
desc = "Extract the visually selected text into a new note and link to it.",
|
||||
},
|
||||
{ "<leader>Ow", vim.cmd.ObsidianWorkspace, desc = "Switch to another workspace." },
|
||||
-- { "<leader>Op", vim.cmd.ObsidianPasteImg, desc = "Paste an image from the clipboard into the note." },
|
||||
{
|
||||
"<leader>Or",
|
||||
vim.cmd.ObsidianRename,
|
||||
|
||||
11
lua/plugins/octo.lua
Normal file
11
lua/plugins/octo.lua
Normal file
@ -0,0 +1,11 @@
|
||||
return {
|
||||
"pwntester/octo.nvim",
|
||||
requires = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"folke/snacks.nvim",
|
||||
"nvim-tree/nvim-web-devicons",
|
||||
},
|
||||
opts = {
|
||||
picker = "snacks",
|
||||
},
|
||||
}
|
||||
@ -16,20 +16,9 @@ return {
|
||||
opts = {
|
||||
columns = {
|
||||
"icon",
|
||||
-- "permissions",
|
||||
"size",
|
||||
-- "mtime",
|
||||
},
|
||||
-- Restore window options to previous values when leaving an oil buffer
|
||||
restore_win_options = true,
|
||||
-- Skip the confirmation popup for simple operations
|
||||
delete_to_trash = true,
|
||||
-- Keymaps in oil buffer. Can be any value that `vim.keymap.set` accepts OR a table of keymap
|
||||
-- options with a `callback` (e.g. { callback = function() ... end, desc = "", nowait = true })
|
||||
-- Additionally, if it is a string that matches "actions.<name>",
|
||||
-- it will use the mapping at require("oil.actions").<name>
|
||||
-- Set to `false` to remove a keymap
|
||||
-- See :help oil-actions for a list of all available actions
|
||||
keymaps = {
|
||||
["<C-v>"] = { "actions.select", opts = { vertical = true } },
|
||||
["<C-s>"] = { "actions.select", opts = { horizontal = true } },
|
||||
@ -44,10 +33,8 @@ return {
|
||||
-- Set to false to disable all of the above keymaps
|
||||
use_default_keymaps = true,
|
||||
view_options = {
|
||||
-- Show files and directories that start with "."
|
||||
show_hidden = true,
|
||||
},
|
||||
-- Configuration for the floating window in oil.open_float
|
||||
float = {
|
||||
win_options = {
|
||||
winblend = 10,
|
||||
|
||||
@ -1,8 +0,0 @@
|
||||
return {
|
||||
"jmbuhr/otter.nvim",
|
||||
dependencies = {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
},
|
||||
enabled = false,
|
||||
opts = {},
|
||||
}
|
||||
@ -3,12 +3,19 @@ return {
|
||||
event = "BufReadPre",
|
||||
keys = {
|
||||
{
|
||||
"<leader>qs",
|
||||
"<leader>qq",
|
||||
function()
|
||||
require("persistence").load()
|
||||
end,
|
||||
desc = "Restore the session for the current directory",
|
||||
},
|
||||
{
|
||||
"<leader>qs",
|
||||
function()
|
||||
require("persistence").select()
|
||||
end,
|
||||
desc = "Select a session to load",
|
||||
},
|
||||
{
|
||||
"<leader>ql",
|
||||
function()
|
||||
|
||||
@ -4,21 +4,22 @@ return {
|
||||
{ "echasnovski/mini.icons", version = "*" },
|
||||
"stevearc/oil.nvim",
|
||||
"folke/trouble.nvim",
|
||||
"folke/todo-comments.nvim",
|
||||
},
|
||||
priority = 1000,
|
||||
lazy = false,
|
||||
opts = function()
|
||||
-- Toggle the profiler
|
||||
Snacks.toggle.profiler():map("<leader>sp")
|
||||
Snacks.toggle.profiler():map("<leader>Sp")
|
||||
-- Toggle the profiler highlights
|
||||
Snacks.toggle.profiler_highlights():map("<leader>sh")
|
||||
Snacks.toggle.profiler_highlights():map("<leader>Sh")
|
||||
return {
|
||||
animate = { enabled = false },
|
||||
bigfile = { enabled = true },
|
||||
bufdelete = { enabled = true },
|
||||
dashboard = { enabled = false },
|
||||
debug = { enabled = true },
|
||||
dim = { enabled = true },
|
||||
dim = { enabled = false },
|
||||
explorer = { enabled = false },
|
||||
git = { enabled = true },
|
||||
gitbrowse = { enabled = true },
|
||||
@ -44,11 +45,10 @@ return {
|
||||
enabled = true,
|
||||
format = "file",
|
||||
layout = {
|
||||
preset = "telescope"
|
||||
preset = "telescope",
|
||||
},
|
||||
matcher = {
|
||||
frecency = true,
|
||||
sort_empty = true,
|
||||
cwd_bonus = true,
|
||||
},
|
||||
actions = require("trouble.sources.snacks").actions,
|
||||
@ -57,10 +57,10 @@ return {
|
||||
keys = {
|
||||
["<C-t>"] = {
|
||||
"trouble_open",
|
||||
mode = { "n", "i" }
|
||||
}
|
||||
}
|
||||
}
|
||||
mode = { "n", "i" },
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
profiler = { enabled = false },
|
||||
@ -94,7 +94,7 @@ return {
|
||||
desc = "History",
|
||||
},
|
||||
{
|
||||
"<leader>ss",
|
||||
"<leader>Ss",
|
||||
function()
|
||||
Snacks.profiler.scratch()
|
||||
end,
|
||||
@ -116,20 +116,111 @@ return {
|
||||
desc = "Git Blame",
|
||||
},
|
||||
{
|
||||
"<C-n>", function() Snacks.picker.files() end, desc = "Find Files" },
|
||||
{ "<leader>pf", function() Snacks.picker.files() end, desc = "Find Files" },
|
||||
{ "<leader>ps", function() Snacks.picker.grep() end, desc = "Grep" },
|
||||
{ "<leader>pb", function() Snacks.picker.buffers() end, desc = "Buffers" },
|
||||
{ "<leader>pw", function() Snacks.picker.grep_word() end, desc = "Visual selection of word", mode = { "n", "x" } },
|
||||
{ "<leader>pi", function() Snacks.picker.icons() end, desc = "Icons", },
|
||||
{ "<leader>ph", function() Snacks.picker.help() end, desc = "Help Pages", },
|
||||
{ "<leader>pr", function() Snacks.picker.recent() end, desc = "Recent", },
|
||||
{ "<leader>pR", function() Snacks.picker.registers() end, desc = "Registers", },
|
||||
{ "<leader>pg", function() Snacks.picker.git_files() end, desc = "Find Git Fiels", },
|
||||
{ "<leader>pk", function() Snacks.picker.keymaps() end, desc = "Keymaps" },
|
||||
{ "<leader>pt", function() Snacks.picker.todo_comments({ keywords = { "TODO", "FIX", "FIXME" } }) end, desc = "Todo/Fix/Fixme" },
|
||||
{ "<leader>pc", function() Snacks.picker.colorschemes() end, desc = "Colorschemes" },
|
||||
{ "<leader>pl", function() Snacks.picker.lazy() end, desc = "Search for Plugin Spec" },
|
||||
"<C-n>",
|
||||
function()
|
||||
Snacks.picker.files()
|
||||
end,
|
||||
desc = "Find Files",
|
||||
},
|
||||
{
|
||||
"<leader>pf",
|
||||
function()
|
||||
Snacks.picker.files()
|
||||
end,
|
||||
desc = "Find Files",
|
||||
},
|
||||
{
|
||||
"<leader>ps",
|
||||
function()
|
||||
Snacks.picker.grep()
|
||||
end,
|
||||
desc = "Grep",
|
||||
},
|
||||
{
|
||||
"<leader>pb",
|
||||
function()
|
||||
Snacks.picker.buffers()
|
||||
end,
|
||||
desc = "Buffers",
|
||||
},
|
||||
{
|
||||
"<leader>pw",
|
||||
function()
|
||||
Snacks.picker.grep_word()
|
||||
end,
|
||||
desc = "Visual selection of word",
|
||||
mode = { "n", "x" },
|
||||
},
|
||||
{
|
||||
"<leader>pi",
|
||||
function()
|
||||
Snacks.picker.icons()
|
||||
end,
|
||||
desc = "Icons",
|
||||
},
|
||||
{
|
||||
"<leader>ph",
|
||||
function()
|
||||
Snacks.picker.help()
|
||||
end,
|
||||
desc = "Help Pages",
|
||||
},
|
||||
{
|
||||
"<leader>pr",
|
||||
function()
|
||||
Snacks.picker.recent()
|
||||
end,
|
||||
desc = "Recent",
|
||||
},
|
||||
{
|
||||
"<leader>pR",
|
||||
function()
|
||||
Snacks.picker.registers()
|
||||
end,
|
||||
desc = "Registers",
|
||||
},
|
||||
{
|
||||
"<leader>pg",
|
||||
function()
|
||||
Snacks.picker.git_files()
|
||||
end,
|
||||
desc = "Find Git Fiels",
|
||||
},
|
||||
{
|
||||
"<leader>pk",
|
||||
function()
|
||||
Snacks.picker.keymaps()
|
||||
end,
|
||||
desc = "Keymaps",
|
||||
},
|
||||
{
|
||||
"<leader>pt",
|
||||
function()
|
||||
Snacks.picker.todo_comments({ keywords = { "TODO", "FIX", "FIXME" } })
|
||||
end,
|
||||
desc = "Todo/Fix/Fixme",
|
||||
},
|
||||
{
|
||||
"<leader>pc",
|
||||
function()
|
||||
Snacks.picker.colorschemes()
|
||||
end,
|
||||
desc = "Colorschemes",
|
||||
},
|
||||
{
|
||||
"<leader>pl",
|
||||
function()
|
||||
Snacks.picker.lazy()
|
||||
end,
|
||||
desc = "Search for Plugin Spec",
|
||||
},
|
||||
{
|
||||
"<leader>pD",
|
||||
function()
|
||||
Snacks.picker.diagnostics()
|
||||
end,
|
||||
desc = "Diagnostics",
|
||||
},
|
||||
},
|
||||
init = function()
|
||||
vim.api.nvim_create_autocmd("User", {
|
||||
|
||||
@ -1,42 +0,0 @@
|
||||
return {
|
||||
"ravibrock/spellwarn.nvim",
|
||||
event = "VeryLazy",
|
||||
cmd = { "Spellwarn" },
|
||||
keys = {
|
||||
{
|
||||
|
||||
"<leader>os",
|
||||
function()
|
||||
vim.cmd.Spellwarn("toggle")
|
||||
end,
|
||||
desc = "Spellwarn toggle",
|
||||
},
|
||||
},
|
||||
|
||||
opts = {
|
||||
event = { -- event(s) to refresh diagnostics on
|
||||
"CursorHold",
|
||||
"InsertLeave",
|
||||
"TextChanged",
|
||||
"TextChangedI",
|
||||
"TextChangedP",
|
||||
"TextChangedT",
|
||||
},
|
||||
ft_config = { -- spellcheck method: "cursor", "iter", or boolean
|
||||
alpha = false,
|
||||
help = false,
|
||||
lazy = false,
|
||||
lspinfo = false,
|
||||
mason = false,
|
||||
},
|
||||
ft_default = true, -- default option for unspecified filetypes
|
||||
max_file_size = nil, -- maximum file size to check in lines (nil for no limit)
|
||||
severity = { -- severity for each spelling error type (false to disable diagnostics for that type)
|
||||
spellbad = "WARN",
|
||||
spellcap = "HINT",
|
||||
spelllocal = "HINT",
|
||||
spellrare = "INFO",
|
||||
},
|
||||
prefix = "possible misspelling(s): ", -- prefix for each diagnostic message
|
||||
},
|
||||
}
|
||||
@ -1,43 +1,7 @@
|
||||
return {
|
||||
{
|
||||
"razak17/tailwind-fold.nvim",
|
||||
opts = {},
|
||||
dependencies = { "nvim-treesitter/nvim-treesitter" },
|
||||
cmd = { "TailwindFoldEnable", "TailwindFoldDisable", "TailwindFoldToggle" },
|
||||
ft = { "html", "htmldjango", "svelte", "astro", "vue", "javascriptreact", "typescriptreact", "php", "blade" },
|
||||
},
|
||||
{
|
||||
"luckasRanarison/tailwind-tools.nvim",
|
||||
dependencies = { "nvim-treesitter/nvim-treesitter" },
|
||||
enabled = false,
|
||||
ft = { "html", "htmldjango", "svelte", "astro", "vue", "javascriptreact", "typescriptreact", "php", "blade" },
|
||||
cmd = {
|
||||
"TailwindConcealEnable",
|
||||
"TailwindConcealDisable",
|
||||
"TailwindConcealToggle",
|
||||
"TailwindColorEnable",
|
||||
"TailwindColorDisable",
|
||||
"TailwindColorToggle",
|
||||
"TailwindSort",
|
||||
"TailwindSortSelection",
|
||||
"TailwindNextClass",
|
||||
"TailwindPrevClass",
|
||||
},
|
||||
opts = {
|
||||
document_color = {
|
||||
enabled = true, -- can be toggled by commands
|
||||
kind = "background", -- "inline" | "foreground" | "background"
|
||||
inline_symbol = " ", -- only used in inline mode
|
||||
debounce = 200, -- in milliseconds, only applied in insert mode
|
||||
},
|
||||
conceal = {
|
||||
enabled = false, -- can be toggled by commands
|
||||
symbol = "", -- only a single character is allowed
|
||||
highlight = { -- extmark highlight options, see :h 'highlight'
|
||||
fg = "#38BDF8",
|
||||
},
|
||||
},
|
||||
custom_filetypes = {}, -- see the extension section to learn how it works
|
||||
},
|
||||
},
|
||||
opts = {},
|
||||
}
|
||||
|
||||
@ -1,69 +1,8 @@
|
||||
return {
|
||||
"folke/todo-comments.nvim",
|
||||
dependencies = { "nvim-lua/plenary.nvim" },
|
||||
opts = {
|
||||
signs = true, -- show icons in the signs column
|
||||
sign_priority = 8, -- sign priority
|
||||
-- keywords recognized as todo comments
|
||||
keywords = {
|
||||
FIX = {
|
||||
icon = " ", -- icon used for the sign, and in search results
|
||||
color = "error", -- can be a hex color, or a named color (see below)
|
||||
alt = { "FIXME", "BUG", "FIXIT", "ISSUE" }, -- a set of other keywords that all map to this FIX keywords
|
||||
-- signs = false, -- configure signs for some keywords individually
|
||||
},
|
||||
TODO = { icon = " ", color = "info" },
|
||||
HACK = { icon = " ", color = "warning" },
|
||||
WARN = { icon = " ", color = "warning", alt = { "WARNING", "XXX" } },
|
||||
PERF = { icon = " ", alt = { "OPTIM", "PERFORMANCE", "OPTIMIZE" } },
|
||||
NOTE = { icon = " ", color = "hint", alt = { "INFO", "HINT" } },
|
||||
TEST = { icon = "⏲ ", color = "test", alt = { "TESTING", "PASSED", "FAILED" } },
|
||||
},
|
||||
gui_style = {
|
||||
fg = "NONE", -- The gui style to use for the fg highlight group.
|
||||
bg = "BOLD", -- The gui style to use for the bg highlight group.
|
||||
},
|
||||
|
||||
merge_keywords = true, -- when true, custom keywords will be merged with the defaults
|
||||
-- highlighting of the line containing the todo comment
|
||||
-- * before: highlights before the keyword (typically comment characters)
|
||||
-- * keyword: highlights of the keyword
|
||||
-- * after: highlights after the keyword (todo text)
|
||||
highlight = {
|
||||
multiline = true, -- enable multine todo comments
|
||||
multiline_pattern = "^.", -- lua pattern to match the next multiline from the start of the matched keyword
|
||||
multiline_context = 10, -- extra lines that will be re-evaluated when changing a line
|
||||
before = "", -- "fg" or "bg" or empty
|
||||
keyword = "wide", -- "fg", "bg", "wide", "wide_bg", "wide_fg" or empty. (wide and wide_bg is the same as bg, but will also highlight surrounding characters, wide_fg acts accordingly but with fg)
|
||||
after = "fg", -- "fg" or "bg" or empty
|
||||
pattern = [[.*<(KEYWORDS)\s*:]], -- pattern or table of patterns, used for highlighting (vim regex)
|
||||
comments_only = true, -- uses treesitter to match keywords in comments only
|
||||
max_line_len = 400, -- ignore lines longer than this
|
||||
exclude = {}, -- list of file types to exclude highlighting
|
||||
},
|
||||
-- list of named colors where we try to extract the guifg from the
|
||||
-- list of highlight groups or use the hex color if hl not found as a fallback
|
||||
colors = {
|
||||
error = { "DiagnosticError", "ErrorMsg", "#DC2626" },
|
||||
warning = { "DiagnosticWarn", "WarningMsg", "#FBBF24" },
|
||||
info = { "DiagnosticInfo", "#2563EB" },
|
||||
hint = { "DiagnosticHint", "#10B981" },
|
||||
default = { "Identifier", "#7C3AED" },
|
||||
test = { "Identifier", "#FF00FF" },
|
||||
},
|
||||
search = {
|
||||
command = "rg",
|
||||
args = {
|
||||
"--color=never",
|
||||
"--no-heading",
|
||||
"--with-filename",
|
||||
"--line-number",
|
||||
"--column",
|
||||
},
|
||||
-- regex that will be used to match keywords.
|
||||
-- don't replace the (KEYWORDS) placeholder
|
||||
pattern = [[\b(KEYWORDS):]], -- ripgrep regex
|
||||
-- pattern = [[\b(KEYWORDS)\b]], -- match without the extra colon. You'll likely get false positives
|
||||
},
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"folke/trouble.nvim",
|
||||
},
|
||||
opts = {},
|
||||
}
|
||||
|
||||
@ -1,16 +1,5 @@
|
||||
return {
|
||||
"windwp/nvim-ts-autotag",
|
||||
events = { "BufReadPre", "BufNewFile" },
|
||||
opts = {
|
||||
opts = {
|
||||
-- Defaults
|
||||
enable_close = true, -- Auto close tags
|
||||
enable_rename = true, -- Auto rename pairs of tags
|
||||
enable_close_on_slash = true, -- Auto close on trailing </
|
||||
},
|
||||
-- Also override individual filetype configs, these take priority.
|
||||
-- Empty by default, useful if one of the "opts" global settings
|
||||
-- doesn't work well in a specific filetype
|
||||
per_filetype = {},
|
||||
},
|
||||
opts = {},
|
||||
}
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
local ft = { "javascriptreact", "typescriptreact", "javascript", "typescript" }
|
||||
return {
|
||||
{
|
||||
"pmizio/typescript-tools.nvim",
|
||||
@ -5,36 +6,15 @@ return {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"neovim/nvim-lspconfig",
|
||||
},
|
||||
ft = { "javascriptreact", "typescriptreact", "javascript", "typescript" },
|
||||
ft = ft,
|
||||
opts = {
|
||||
on_attach = function(client)
|
||||
client.server_capabilities.documentFormattingProvider = false
|
||||
client.server_capabilities.documentRangeFormattingProvider = false
|
||||
end,
|
||||
settings = {
|
||||
-- spawn additional tsserver instance to calculate diagnostics on it
|
||||
separate_diagnostic_server = true,
|
||||
-- "change"|"insert_leave" determine when the client asks the server about diagnostic
|
||||
publish_diagnostic_on = "insert_leave",
|
||||
-- array of strings("fix_all"|"add_missing_imports"|"remove_unused"|
|
||||
-- "remove_unused_imports"|"organize_imports") -- or string "all"
|
||||
-- to include all supported code actions
|
||||
-- specify commands exposed as code_actions
|
||||
expose_as_code_action = "all",
|
||||
-- string|nil - specify a custom path to `tsserver.js` file, if this is nil or file under path
|
||||
-- not exists then standard path resolution strategy is applied
|
||||
tsserver_path = "tsserver",
|
||||
-- specify a list of plugins to load by tsserver, e.g., for support `styled-components`
|
||||
-- (see 💅 `styled-components` support section)
|
||||
tsserver_plugins = {
|
||||
"@styled/typescript-styled-plugin",
|
||||
},
|
||||
-- this value is passed to: https://nodejs.org/api/cli.html#--max-old-space-sizesize-in-megabytes
|
||||
-- memory limit in megabytes or "auto"(basically no limit)
|
||||
tsserver_max_memory = "auto",
|
||||
-- described below
|
||||
tsserver_format_options = function(ft)
|
||||
-- Return empty table to disable formatting
|
||||
tsserver_format_options = function(_)
|
||||
return {}
|
||||
end,
|
||||
tsserver_file_preferences = {
|
||||
@ -47,38 +27,20 @@ return {
|
||||
includeInlayFunctionLikeReturnTypeHints = true,
|
||||
includeInlayEnumMemberValueHints = true,
|
||||
},
|
||||
-- locale of all tsserver messages, supported locales you can find here:
|
||||
-- https://github.com/microsoft/TypeScript/blob/3c221fc086be52b19801f6e8d82596d04607ede6/src/compiler/utilitiesPublic.ts#L620
|
||||
tsserver_locale = "en",
|
||||
-- mirror of VSCode's `typescript.suggest.completeFunctionCalls`
|
||||
complete_function_calls = true,
|
||||
include_completions_with_insert_text = true,
|
||||
-- CodeLens
|
||||
-- WARNING: Experimental feature also in VSCode, because it might hit performance of server.
|
||||
-- possible values: ("off"|"all"|"implementations_only"|"references_only")
|
||||
code_lens = "all",
|
||||
-- by default code lenses are displayed on all referencable values and for some of you it can
|
||||
-- be too much this option reduce count of them by removing member references from lenses
|
||||
disable_member_code_lens = true,
|
||||
-- JSXCloseTag
|
||||
-- WARNING: it is disabled by default (maybe you configuration or distro already uses nvim-ts-autotag,
|
||||
-- that maybe have a conflict if enable this feature. )
|
||||
jsx_close_tag = {
|
||||
enable = false,
|
||||
filetypes = { "javascriptreact", "typescriptreact" },
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"dmmulroy/ts-error-translator.nvim",
|
||||
ft = { "javascriptreact", "typescriptreact", "javascript", "typescript" },
|
||||
ft = ft,
|
||||
},
|
||||
{
|
||||
"folke/ts-comments.nvim",
|
||||
opts = {},
|
||||
event = "VeryLazy",
|
||||
enabled = vim.fn.has("nvim-0.10.0") == 1,
|
||||
ft = { "javascriptreact", "typescriptreact", "javascript", "typescript" },
|
||||
ft = ft,
|
||||
},
|
||||
}
|
||||
|
||||
@ -18,43 +18,5 @@ return {
|
||||
build = function()
|
||||
require("typst-preview").update()
|
||||
end,
|
||||
opts = {
|
||||
-- Setting this true will enable printing debug information with print()
|
||||
debug = false,
|
||||
|
||||
-- Custom format string to open the output link provided with %s
|
||||
-- Example: open_cmd = 'firefox %s -P typst-preview --class typst-preview'
|
||||
open_cmd = "xdg-open %s",
|
||||
-- open_cmd = "floorp %s -P typst-preview --class typst-preview",
|
||||
|
||||
-- Setting this to 'always' will invert black and white in the preview
|
||||
-- Setting this to 'auto' will invert depending if the browser has enable
|
||||
-- dark mode
|
||||
invert_colors = nil,
|
||||
-- Whether the preview will follow the cursor in the source file
|
||||
follow_cursor = true,
|
||||
|
||||
-- Provide the path to binaries for dependencies.
|
||||
-- Setting this will skip the download of the binary by the plugin.
|
||||
-- Warning: Be aware that your version might be older than the one
|
||||
-- required.
|
||||
dependencies_bin = {
|
||||
-- if you are using tinymist, just set ['typst-preview'] = "tinymist".
|
||||
["typst-preview"] = nil,
|
||||
["websocat"] = nil,
|
||||
},
|
||||
-- A list of extra arguments (or nil) to be passed to previewer.
|
||||
-- For example, extra_args = { "--input=ver=draft", "--ignore-system-fonts" }
|
||||
extra_args = nil,
|
||||
-- This function will be called to determine the root of the typst project
|
||||
get_root = function(path_of_main_file)
|
||||
return vim.fn.fnamemodify(path_of_main_file, ":p:h")
|
||||
end,
|
||||
|
||||
-- This function will be called to determine the main file of the typst
|
||||
-- project.
|
||||
get_main_file = function(path_of_buffer)
|
||||
return path_of_buffer
|
||||
end,
|
||||
},
|
||||
opts = {},
|
||||
}
|
||||
|
||||
@ -31,7 +31,6 @@ return {
|
||||
desc = "substitute word",
|
||||
},
|
||||
{
|
||||
{ "<leader>c", vim.cmd.bdelete, desc = "Close Buffer" },
|
||||
{
|
||||
"<leader>X",
|
||||
function()
|
||||
@ -44,7 +43,7 @@ return {
|
||||
{ "<leader>q", group = "Persistence" },
|
||||
{ "<leader>l", group = "LSP" },
|
||||
{ "<leader>w", group = "Workspace" },
|
||||
{ "<leader>f", group = "Picker", { "<leader>pd", group = "Development" } },
|
||||
{ "<leader>p", group = "Picker" },
|
||||
{ "<leader>z", group = "Zen" },
|
||||
{ "<leader>o", group = "Action" },
|
||||
{ "<leader>r", group = "Rust" },
|
||||
@ -75,76 +74,6 @@ return {
|
||||
{ "<leader>LI", "<cmd>setlocal autoindent<cr>", desc = "Enable autoindent" },
|
||||
{ "<leader>Li", "<cmd>setlocal noautoindent<cr>", desc = "Disable autoindent" },
|
||||
},
|
||||
--[[ {
|
||||
"<leader>P",
|
||||
group = "Templates",
|
||||
{
|
||||
{
|
||||
"<leader>Pl",
|
||||
group = "Latex",
|
||||
cond = function()
|
||||
return vim.bo.filetype == "lua"
|
||||
end,
|
||||
|
||||
{
|
||||
"<leader>Plp",
|
||||
function()
|
||||
vim.cmd.read("~/Templates/LaTeX/PhilPaper.tex")
|
||||
end,
|
||||
desc = "PhilPaper.tex",
|
||||
},
|
||||
{
|
||||
"<leader>Pll",
|
||||
function()
|
||||
vim.cmd.read("~/Templates/LaTeX/Letter.tex")
|
||||
end,
|
||||
desc = "Letter.tex",
|
||||
},
|
||||
{
|
||||
"<leader>Plg",
|
||||
function()
|
||||
vim.cmd.read("~/Templates/LaTeX/Glossary.tex")
|
||||
end,
|
||||
desc = "Glossary.tex",
|
||||
},
|
||||
{
|
||||
"<leader>Plh",
|
||||
function()
|
||||
vim.cmd.read("~/Templates/LaTeX/HandOut.tex")
|
||||
end,
|
||||
desc = "HandOut.tex",
|
||||
},
|
||||
{
|
||||
"<leader>Plb",
|
||||
function()
|
||||
vim.cmd.read("~/Templates/LaTeX/PhilBeamer.tex")
|
||||
end,
|
||||
desc = "PhilBeamer.tex",
|
||||
},
|
||||
{
|
||||
"<leader>Pls",
|
||||
function()
|
||||
vim.cmd.read("~/Templates/LaTeX/SubFile.tex")
|
||||
end,
|
||||
desc = "SubFile.tex",
|
||||
},
|
||||
{
|
||||
"<leader>Plr",
|
||||
function()
|
||||
vim.cmd.read("~/Templates/LaTeX/Root.tex")
|
||||
end,
|
||||
desc = "Root.tex",
|
||||
},
|
||||
{
|
||||
"<leader>Plm",
|
||||
function()
|
||||
vim.cmd.read("~/Templates/LaTeX/MultipleAnswer.tex")
|
||||
end,
|
||||
desc = "MultipleAnswer.tex",
|
||||
},
|
||||
},
|
||||
},
|
||||
}, ]]
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
@ -2,6 +2,7 @@ std = "neovim"
|
||||
|
||||
[rules]
|
||||
global_usage = "allow"
|
||||
undefined_variable = "allow"
|
||||
multiple_statements = "allow"
|
||||
incorrect_standard_library_use = "allow"
|
||||
mixed_table = "allow"
|
||||
|
||||
3
snippets/all.lua
Normal file
3
snippets/all.lua
Normal file
@ -0,0 +1,3 @@
|
||||
---@diagnostic disable: undefined-global
|
||||
|
||||
return {}
|
||||
3
snippets/c.lua
Normal file
3
snippets/c.lua
Normal file
@ -0,0 +1,3 @@
|
||||
---@diagnostic disable: undefined-global
|
||||
|
||||
return {}
|
||||
3
snippets/cmake.lua
Normal file
3
snippets/cmake.lua
Normal file
@ -0,0 +1,3 @@
|
||||
---@diagnostic disable: undefined-global
|
||||
|
||||
return {}
|
||||
3
snippets/cpp.lua
Normal file
3
snippets/cpp.lua
Normal file
@ -0,0 +1,3 @@
|
||||
---@diagnostic disable: undefined-global
|
||||
|
||||
return {}
|
||||
@ -1,22 +1,4 @@
|
||||
if not pcall(require, "luasnip") then
|
||||
return
|
||||
end
|
||||
|
||||
local ls = require("luasnip")
|
||||
|
||||
local s = ls.snippet
|
||||
local sn = ls.sn
|
||||
local i = ls.insert_node
|
||||
local t = ls.text_node
|
||||
local d = ls.dynamic_node
|
||||
local c = ls.choice_node
|
||||
local fmt = require("luasnip.extras.fmt").fmt
|
||||
|
||||
local shared = require("config.snips")
|
||||
|
||||
local newline = function(text)
|
||||
return t({ "", text })
|
||||
end
|
||||
---@diagnostic disable: undefined-global
|
||||
|
||||
local require_var = function(args, _)
|
||||
local text = args[1][1] or ""
|
||||
@ -32,19 +14,18 @@ local require_var = function(args, _)
|
||||
})
|
||||
end
|
||||
|
||||
ls.add_snippets("lua", {
|
||||
return {
|
||||
s(
|
||||
"lf",
|
||||
fmt(
|
||||
[[
|
||||
local {} = function({})
|
||||
local function {}({})
|
||||
{}
|
||||
end{}
|
||||
end
|
||||
]],
|
||||
{
|
||||
i(1),
|
||||
i(2),
|
||||
i(3),
|
||||
i(0),
|
||||
}
|
||||
)
|
||||
@ -70,4 +51,4 @@ ls.add_snippets("lua", {
|
||||
i(1),
|
||||
})
|
||||
),
|
||||
})
|
||||
}
|
||||
@ -1,13 +1,6 @@
|
||||
if not pcall(require, "luasnip") then
|
||||
return
|
||||
end
|
||||
---@diagnostic disable: undefined-global
|
||||
|
||||
local ls = require("luasnip")
|
||||
local s = ls.snippet
|
||||
local i = ls.insert_node
|
||||
local fmt = require("luasnip.extras.fmt").fmt
|
||||
|
||||
ls.add_snippets("markdown", {
|
||||
return {
|
||||
s(
|
||||
"ket",
|
||||
fmt(
|
||||
@ -20,6 +13,9 @@ ls.add_snippets("markdown", {
|
||||
}
|
||||
)
|
||||
),
|
||||
}, { -- autosnippets
|
||||
s({ trig = "mt", name = "Math Block" }, fmta("$<>$", { i(1) })),
|
||||
s({ trig = "mmt", name = "Multiline Math Block" }, fmta("$ <> $", { i(1) })),
|
||||
s(
|
||||
"ket0",
|
||||
fmt(
|
||||
@ -47,4 +43,4 @@ ls.add_snippets("markdown", {
|
||||
{}
|
||||
)
|
||||
),
|
||||
})
|
||||
}
|
||||
@ -1,15 +1,6 @@
|
||||
if not pcall(require, "luasnip") then
|
||||
return
|
||||
end
|
||||
---@diagnostic disable: undefined-global
|
||||
|
||||
local ls = require("luasnip")
|
||||
local s = ls.snippet
|
||||
local i = ls.insert_node
|
||||
local t = ls.text_node
|
||||
local fmt = require("luasnip.extras.fmt").fmt
|
||||
local c = ls.choice_node
|
||||
|
||||
ls.add_snippets("python", {
|
||||
return {
|
||||
s(
|
||||
"logger",
|
||||
fmt(
|
||||
@ -97,4 +88,4 @@ ls.add_snippets("python", {
|
||||
}
|
||||
)
|
||||
),
|
||||
})
|
||||
}, {}
|
||||
233
snippets/rust.lua
Normal file
233
snippets/rust.lua
Normal file
@ -0,0 +1,233 @@
|
||||
---@diagnostic disable: undefined-global
|
||||
|
||||
local snippets = {
|
||||
s("p", fmta([[println!("{}", <>)]], { i(0) })),
|
||||
s(
|
||||
"modtest",
|
||||
fmta(
|
||||
[[
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
<>
|
||||
}
|
||||
]],
|
||||
{ i(0) }
|
||||
)
|
||||
),
|
||||
s(
|
||||
"test",
|
||||
fmta(
|
||||
[[
|
||||
#[test]
|
||||
fn <name>() {
|
||||
<body>
|
||||
}
|
||||
]],
|
||||
{
|
||||
name = i(1),
|
||||
body = i(0),
|
||||
}
|
||||
)
|
||||
),
|
||||
s(
|
||||
"rstest",
|
||||
fmta(
|
||||
[[
|
||||
#[rstest]
|
||||
#[case(<case>)]
|
||||
fn <name>(<args>) {
|
||||
<body>
|
||||
}
|
||||
]],
|
||||
{
|
||||
name = i(1),
|
||||
args = i(2),
|
||||
case = i(3),
|
||||
body = i(0),
|
||||
}
|
||||
)
|
||||
),
|
||||
s(
|
||||
"tmain",
|
||||
fmt(
|
||||
[[
|
||||
#[tokio::main]
|
||||
async fn main() -> Result<()> {{
|
||||
{}
|
||||
}}
|
||||
]],
|
||||
{
|
||||
i(1, "todo!();"),
|
||||
}
|
||||
)
|
||||
),
|
||||
s(
|
||||
"dead",
|
||||
fmt(
|
||||
[[
|
||||
#[allow(dead_code)]
|
||||
]],
|
||||
{}
|
||||
)
|
||||
),
|
||||
}
|
||||
|
||||
local function has_bevy()
|
||||
local cwd = vim.fn.getcwd()
|
||||
local cargo_toml = cwd .. "/Cargo.toml"
|
||||
|
||||
if vim.fn.filereadable(cargo_toml) == 1 then
|
||||
local contents = vim.fn.readfile(cargo_toml)
|
||||
for _, line in ipairs(contents) do
|
||||
if line:match("^%s*bevy%s*=") or line:find("bevy") and not line:find("bevy%.") then
|
||||
return true
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
return false
|
||||
end
|
||||
|
||||
local bevy_snippets = {
|
||||
s(
|
||||
"component",
|
||||
fmta(
|
||||
[[
|
||||
#[derive(Debug, Reflect, Component)]
|
||||
#[reflect(Component)]
|
||||
pub struct <name><params>
|
||||
]],
|
||||
{
|
||||
name = i(1, "Component"),
|
||||
params = c(2, {
|
||||
t(";"),
|
||||
t("( );"),
|
||||
t(" { }"),
|
||||
}),
|
||||
}
|
||||
)
|
||||
),
|
||||
s(
|
||||
"event",
|
||||
fmta(
|
||||
[[
|
||||
#[derive(Debug, Event)]
|
||||
pub struct <name><params>
|
||||
]],
|
||||
{
|
||||
name = i(1, "Event"),
|
||||
params = c(2, {
|
||||
t(";"),
|
||||
t("( );"),
|
||||
t(" { }"),
|
||||
}),
|
||||
}
|
||||
)
|
||||
),
|
||||
s(
|
||||
"resource",
|
||||
fmta(
|
||||
[[
|
||||
#[derive(Debug, Default, Reflect, Resource)]
|
||||
#[reflect(Resource)]
|
||||
pub struct <name><params>
|
||||
]],
|
||||
{
|
||||
name = i(1, "Resource"),
|
||||
params = c(2, {
|
||||
t(";"),
|
||||
t("( );"),
|
||||
t(" { }"),
|
||||
}),
|
||||
}
|
||||
)
|
||||
),
|
||||
s(
|
||||
"schedule",
|
||||
fmta(
|
||||
[[
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, ScheduleLabel)]
|
||||
pub struct <name><params>
|
||||
]],
|
||||
{
|
||||
name = i(1, "Resource"),
|
||||
params = c(2, {
|
||||
t(";"),
|
||||
t("( );"),
|
||||
t(" { }"),
|
||||
}),
|
||||
}
|
||||
)
|
||||
),
|
||||
s(
|
||||
"state",
|
||||
fmta(
|
||||
[[
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Default, States)]
|
||||
pub enum <name> {
|
||||
#[default]
|
||||
<default>,
|
||||
<variants>
|
||||
}
|
||||
]],
|
||||
{
|
||||
name = i(1, "State"),
|
||||
default = i(2, "Default"),
|
||||
variants = i(0),
|
||||
}
|
||||
)
|
||||
),
|
||||
s(
|
||||
"systemset",
|
||||
fmta(
|
||||
[[
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, SystemSet)]
|
||||
pub enum <name> {
|
||||
<body>
|
||||
}
|
||||
]],
|
||||
{
|
||||
name = i(1),
|
||||
body = i(2),
|
||||
}
|
||||
)
|
||||
),
|
||||
s(
|
||||
"plugin",
|
||||
fmta(
|
||||
[[
|
||||
use bevy::prelude::*;
|
||||
|
||||
pub(super) fn plugin(app: &mut App) {
|
||||
<body>
|
||||
}
|
||||
]],
|
||||
{
|
||||
body = i(0),
|
||||
}
|
||||
)
|
||||
),
|
||||
s(
|
||||
"query",
|
||||
fmta(
|
||||
[[
|
||||
fn <name>(<args>) {
|
||||
<body>
|
||||
}
|
||||
]],
|
||||
{
|
||||
name = i(1, "system"),
|
||||
args = i(2, "args"),
|
||||
body = i(0),
|
||||
}
|
||||
)
|
||||
),
|
||||
}
|
||||
|
||||
if has_bevy() then
|
||||
vim.tbl_extend("force", snippets, bevy_snippets)
|
||||
end
|
||||
|
||||
return snippets
|
||||
33
snippets/typst.lua
Normal file
33
snippets/typst.lua
Normal file
@ -0,0 +1,33 @@
|
||||
---@diagnostic disable: undefined-global
|
||||
|
||||
return {
|
||||
s(
|
||||
{ trig = "([^%s]+)t", name = "Superscript", regTrig = true },
|
||||
fmta("(<>)^(<>)", {
|
||||
f(function(_, snip)
|
||||
return snip.captures[1]
|
||||
end),
|
||||
i(0),
|
||||
})
|
||||
),
|
||||
s(
|
||||
{ trig = "([^%s]+)b", name = "Subscript", regTrig = true },
|
||||
fmta("(<>)_(<>)", {
|
||||
f(function(_, snip)
|
||||
return snip.captures[1]
|
||||
end),
|
||||
i(0),
|
||||
})
|
||||
),
|
||||
s(
|
||||
{ trig = "([^%s]+)r", name = "Root", regTrig = true },
|
||||
fmta("sqrt(<>)", {
|
||||
f(function(_, snip)
|
||||
return snip.captures[1]
|
||||
end),
|
||||
})
|
||||
),
|
||||
}, { -- autosnippets
|
||||
s({ trig = "mt", name = "Math Block" }, fmta("$<>$", { i(1) })),
|
||||
s({ trig = "mmt", name = "Multiline Math Block" }, fmta("$ <> $", { i(1) })),
|
||||
}
|
||||
@ -627,3 +627,10 @@ saprotami
|
||||
iekavās
|
||||
iekavām
|
||||
viennozīmīgu
|
||||
iekavas
|
||||
atbilsoši
|
||||
visciešāk
|
||||
disjunkcija
|
||||
implikācija
|
||||
operacionālās
|
||||
dotās
|
||||
|
||||
Binary file not shown.
10
stylua.toml
10
stylua.toml
@ -1,10 +0,0 @@
|
||||
column_width = 120
|
||||
line_endings = "Unix"
|
||||
indent_type = "Tabs"
|
||||
indent_width = 4
|
||||
quote_style = "AutoPreferDouble"
|
||||
call_parentheses = "Always"
|
||||
collapse_simple_statement = "Never"
|
||||
|
||||
[sort_requires]
|
||||
enabled = false
|
||||
Loading…
Reference in New Issue
Block a user