Compare commits

..

2 Commits

47 changed files with 321 additions and 563 deletions

View File

@ -1,12 +0,0 @@
local port = os.getenv("GDScript_Port") or "6005"
local cmd = vim.lsp.rpc.connect("127.0.0.1", port)
local pipe = "/tmp/godot.pipe"
vim.lsp.start({
name = "Godot",
cmd = cmd,
root_dir = vim.fs.dirname(vim.fs.find({ "project.godot", ".git" }, { upward = true })[1]),
on_attach = function(client, bufnr)
vim.api.nvim_command('echo serverstart("' .. pipe .. '")')
end,
})

View File

@ -1,32 +0,0 @@
{
"Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
"blink.cmp": { "branch": "main", "commit": "a9a0f96c6a1029884e37dfd74a88a075b40366dd" },
"catppuccin": { "branch": "main", "commit": "faf15ab0201b564b6368ffa47b56feefc92ce3f4" },
"conform.nvim": { "branch": "master", "commit": "339b3e4519ec49312d34fcfa275aa15bfaa67025" },
"dressing.nvim": { "branch": "master", "commit": "3a45525bb182730fe462325c99395529308f431e" },
"fidget.nvim": { "branch": "main", "commit": "9238947645ce17d96f30842e61ba81147185b657" },
"friendly-snippets": { "branch": "main", "commit": "efff286dd74c22f731cdec26a70b46e5b203c619" },
"git-conflict.nvim": { "branch": "main", "commit": "4bbfdd92d547d2862a75b4e80afaf30e73f7bbb4" },
"hurl.nvim": { "branch": "main", "commit": "438360f62e73e8d149f0374d9d1d75c1441807e3" },
"lazy.nvim": { "branch": "main", "commit": "7e6c863bc7563efbdd757a310d17ebc95166cef3" },
"lazydev.nvim": { "branch": "main", "commit": "8620f82ee3f59ff2187647167b6b47387a13a018" },
"lualine.nvim": { "branch": "master", "commit": "2a5bae925481f999263d6f5ed8361baef8df4f83" },
"luvit-meta": { "branch": "main", "commit": "57d464c4acb5c2e66bd4145060f5dc9e96a7bbb7" },
"mini.map": { "branch": "main", "commit": "4c58e755d75f9999abcd3b3c6e934734b6a8b098" },
"neo-tree.nvim": { "branch": "v3.x", "commit": "a77af2e764c5ed4038d27d1c463fa49cd4794e07" },
"nui.nvim": { "branch": "main", "commit": "53e907ffe5eedebdca1cd503b00aa8692068ca46" },
"nvim-lspconfig": { "branch": "master", "commit": "f1405c1ea5d7a1051a8ced3110d7cf3b8524041b" },
"nvim-notify": { "branch": "master", "commit": "fbef5d32be8466dd76544a257d3f3dce20082a07" },
"nvim-surround": { "branch": "main", "commit": "9f0cb495f25bff32c936062d85046fbda0c43517" },
"nvim-treesitter": { "branch": "master", "commit": "2a75d8065cff33216e106b651eb0f58b90375717" },
"nvim-ts-autotag": { "branch": "main", "commit": "1cca23c9da708047922d3895a71032bc0449c52d" },
"nvim-web-devicons": { "branch": "master", "commit": "6317aca1fd86cc8e8c5ad30029ae7640d566cec6" },
"outline.nvim": { "branch": "main", "commit": "f656ef12a590287cce57f6ee3d46a0604dfb3c14" },
"plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "dae2eac9d91464448b584c7949a31df8faefec56" },
"telescope.nvim": { "branch": "master", "commit": "2eca9ba22002184ac05eddbe47a7fe2d5a384dfc" },
"todo-comments.nvim": { "branch": "main", "commit": "ae0a2afb47cf7395dc400e5dc4e05274bf4fb9e0" },
"trouble.nvim": { "branch": "main", "commit": "46cf952fc115f4c2b98d4e208ed1e2dce08c9bf6" },
"vim-cool": { "branch": "master", "commit": "662e7b11064cbeedad17c45d2fe926e78d3cd0b6" },
"which-key.nvim": { "branch": "main", "commit": "8ab96b38a2530eacba5be717f52e04601eb59326" }
}

View File

@ -1,69 +0,0 @@
return {
{
"nvim-treesitter/nvim-treesitter",
build = ":TSUpdate",
config = function()
local configs = require("nvim-treesitter.configs")
vim.filetype.add({
extension = {
fsh = "glsl",
vsh = "glsl",
hbs = "html",
},
})
vim.treesitter.language.register("html", { "handlebars", "htmldjango" })
vim.treesitter.language.register("glsl", { "vsh", "fsh" })
configs.setup({
ensure_installed = {
-- web dev
"html",
"css",
"scss",
"javascript",
"typescript",
"svelte",
-- config
"toml",
"yaml",
"markdown",
"dockerfile",
"just",
-- vim
"vim",
"vimdoc",
"lua",
"query",
-- the cool stuff
"elixir",
"heex",
"rust",
"python",
"zig",
"nim",
"clojure",
"gleam",
"bash",
"hurl",
"gdscript",
-- the not so cool stuff
"c",
"java",
"groovy",
"glsl",
"wgsl",
},
sync_install = false,
highlight = { enable = true },
indent = { enable = true },
})
end,
},
}

View File

@ -1,11 +0,0 @@
return {
{
"folke/twilight.nvim",
opts = {},
},
{
"folke/zen-mode.nvim",
opts = {},
},
}

View File

@ -1,323 +0,0 @@
;; NOTE In this file later patterns are assumed to have priority!
;; Punctuation
["(" ")" "[" "]" "{" "}" "(<" ">)" "[<" ">]" "{|" "|}"] @punctuation.bracket
[";" "," ":" "::"] @punctuation.delimiter
;; Constant
(const_ident) @constant
["true" "false"] @boolean
["null"] @constant.builtin
;; Variable
[(ident) (ct_ident)] @variable
;; 1) Member
(field_expr field: (access_ident (ident) @variable.member))
(struct_member_declaration (ident) @variable.member)
(struct_member_declaration (identifier_list (ident) @variable.member))
(bitstruct_member_declaration (ident) @variable.member)
(initializer_list (arg (param_path (param_path_element (ident) @variable.member))))
;; 2) Parameter
(parameter name: (_) @variable.parameter)
(call_invocation (arg (param_path (param_path_element [(ident) (ct_ident)] @variable.parameter))))
(enum_param_declaration (ident) @variable.parameter)
;; 3) Declaration
(global_declaration (ident) @variable.declaration)
(local_decl_after_type name: [(ident) (ct_ident)] @variable.declaration)
(var_decl name: [(ident) (ct_ident)] @variable.declaration)
(try_unwrap (ident) @variable.declaration)
(catch_unwrap (ident) @variable.declaration)
;; Keyword (from `c3c --list-keywords`)
[
"assert"
"asm"
"catch"
"defer"
"try"
"var"
] @keyword
[
"$alignof"
"$and"
"$append"
"$assert"
"$assignable"
"$case"
"$concat"
"$default"
"$defined"
"$echo"
"$else"
"$embed"
"$endfor"
"$endforeach"
"$endif"
"$endswitch"
"$eval"
"$evaltype"
"$error"
"$exec"
"$extnameof"
"$feature"
"$for"
"$foreach"
"$if"
"$include"
"$is_const"
"$nameof"
"$offsetof"
"$or"
"$qnameof"
"$sizeof"
"$stringify"
"$switch"
"$typefrom"
"$typeof"
"$vacount"
"$vatype"
"$vaconst"
"$varef"
"$vaarg"
"$vaexpr"
"$vasplat"
] @keyword.directive
"fn" @keyword.function
"macro" @keyword.function
"return" @keyword.return
"import" @keyword.import
"module" @keyword.module
[
"bitstruct"
"def"
"distinct"
"enum"
"fault"
"interface"
"struct"
"union"
] @keyword.type
[
"case"
"default"
"else"
"if"
"nextcase"
"switch"
] @keyword.conditional
[
"break"
"continue"
"do"
"for"
"foreach"
"foreach_r"
"while"
] @keyword.repeat
[
"const"
"extern"
"inline"
"static"
"tlocal"
] @keyword.modifier
;; Operator (from `c3c --list-operators`)
[
"&"
"!"
"~"
"|"
"^"
;; ":"
;; ","
;; ";"
"="
">"
"/"
"."
;; "#"
"<"
;; "{"
;; "["
;; "("
"-"
"%"
"+"
"?"
;; "}"
;; "]"
;; ")"
"*"
;; "_"
"&&"
;; "->"
"!!"
"&="
"|="
"^="
"/="
".."
"?:"
"=="
">="
"=>"
"<="
;; "{|"
;; "(<"
;; "[<"
"-="
"--"
"%="
"*="
"!="
"||"
"+="
"++"
;; "|}"
;; ">)"
;; ">]"
"??"
;; "::"
"<<"
">>"
"..."
"<<="
">>="
] @operator
(range_expr ":" @operator)
(foreach_cond ":" @operator)
(ternary_expr
[
"?"
":"
] @keyword.conditional.ternary)
(elvis_orelse_expr
[
"?:"
"??"
] @keyword.conditional.ternary)
;; Literal
(integer_literal) @number
(real_literal) @number.float
(char_literal) @character
(bytes_literal) @number
;; String
(string_literal) @string
(raw_string_literal) @string
;; Escape Sequence
(escape_sequence) @string.escape
;; Builtin (constants)
((builtin) @constant.builtin (#match? @constant.builtin "_*[A-Z][_A-Z0-9]*"))
;; Type Property (from `c3c --list-type-properties`)
(type_access_expr (access_ident [(ident) "typeid"] @variable.builtin
(#any-of? @variable.builtin
"alignof"
"associated"
"elements"
"extnameof"
"inf"
"is_eq"
"is_ordered"
"is_substruct"
"len"
"max"
"membersof"
"min"
"nan"
"inner"
"kindof"
"names"
"nameof"
"params"
"parentof"
"qnameof"
"returns"
"sizeof"
"values"
;; Extra token
"typeid")))
;; Label
[
(label)
(label_target)
] @label
;; Module
(module_resolution (ident) @module)
(module (path_ident (ident) @module))
(import_declaration (path_ident (ident) @module))
;; Attribute
(attribute name: (_) @attribute)
(define_attribute name: (_) @attribute)
(call_inline_attributes (at_ident) @attribute)
(asm_block_stmt (at_ident) @attribute)
;; Type
[
(type_ident)
(ct_type_ident)
] @type
(base_type_name) @type.builtin
;; Function Definition
(func_header name: (_) @function)
(func_header method_type: (_) name: (_) @function.method)
;; NOTE macro_declaration can also have a func_header
(macro_header name: (_) @function)
(macro_header method_type: (_) name: (_) @function.method)
;; Function Call
(call_expr function: [(ident) (at_ident)] @function.call)
(call_expr function: [(builtin)] @function.builtin.call)
(call_expr function: (module_ident_expr ident: (_) @function.call))
(call_expr function: (trailing_generic_expr argument: (module_ident_expr ident: (_) @function.call)))
(call_expr function: (field_expr field: (access_ident [(ident) (at_ident)] @function.method.call))) ; NOTE Ambiguous, could be calling a method or function pointer
;; Method on type
(call_expr function: (type_access_expr field: (access_ident [(ident) (at_ident)] @function.method.call)))
;; Assignment
;; (assignment_expr left: (ident) @variable.member)
;; (assignment_expr left: (module_ident_expr (ident) @variable.member))
;; (assignment_expr left: (field_expr field: (_) @variable.member))
;; (assignment_expr left: (unary_expr operator: "*" @variable.member))
;; (assignment_expr left: (subscript_expr ["[" "]"] @variable.member))
;; (update_expr argument: (ident) @variable.member)
;; (update_expr argument: (module_ident_expr ident: (ident) @variable.member))
;; (update_expr argument: (field_expr field: (_) @variable.member))
;; (update_expr argument: (unary_expr operator: "*" @variable.member))
;; (update_expr argument: (subscript_expr ["[" "]"] @variable.member))
;; (unary_expr operator: ["--" "++"] argument: (ident) @variable.member)
;; (unary_expr operator: ["--" "++"] argument: (module_ident_expr (ident) @variable.member))
;; (unary_expr operator: ["--" "++"] argument: (field_expr field: (access_ident (ident)) @variable.member))
;; (unary_expr operator: ["--" "++"] argument: (subscript_expr ["[" "]"] @variable.member))
;; Asm
(asm_instr [(ident) "int"] @function.builtin)
(asm_expr [(ct_ident) (ct_const_ident)] @variable.builtin)
;; Comment
[
(line_comment)
(block_comment)
] @comment @spell
(doc_comment) @comment.documentation @spell

View File

@ -1,16 +0,0 @@
#!/bin/bash
(
for FOLDER in ./*/; do
# gio set "$FOLDER" -t unset metadata::custom-icon
for img in ./"$FOLDER"/*; do
if [[ ${img##*.} == "jpg" ]] || [[ ${img##*.} == "png" ]] || [[ ${img##*.} == "webp" ]]; then
IMAGENAME="$(basename "$img")"
break
fi
done
if [[ -n $IMAGENAME ]]; then
gio set "$FOLDER" -t string metadata::custom-icon "$IMAGENAME"
unset IMAGENAME
fi
done
)

View File

@ -9,3 +9,4 @@
127.0.0.1 food.wynd.local 127.0.0.1 food.wynd.local
127.0.0.1 firefly.wynd.local 127.0.0.1 firefly.wynd.local
127.0.0.1 vault.wynd.local 127.0.0.1 vault.wynd.local
127.0.0.1 test.wynd.local

View File

@ -2,32 +2,33 @@
## plugins used ## plugins used
- [telescope-fzf-native.nvim](https://github.com/nvim-telescope/telescope-fzf-native.nvim.git)
- [luvit-meta](https://github.com/Bilal2453/luvit-meta.git)
- [neo-tree.nvim](https://github.com/nvim-neo-tree/neo-tree.nvim.git) - [neo-tree.nvim](https://github.com/nvim-neo-tree/neo-tree.nvim.git)
- [nvim-notify](https://github.com/rcarriga/nvim-notify.git)
- [nvim-web-devicons](https://github.com/nvim-tree/nvim-web-devicons.git) - [nvim-web-devicons](https://github.com/nvim-tree/nvim-web-devicons.git)
- [hurl.nvim](https://github.com/jellydn/hurl.nvim.git) - [lualine.nvim](https://github.com/nvim-lualine/lualine.nvim.git)
- [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git)
- [nui.nvim](https://github.com/MunifTanjim/nui.nvim.git) - [nui.nvim](https://github.com/MunifTanjim/nui.nvim.git)
- [mini.map](https://github.com/echasnovski/mini.map.git)
- [plenary.nvim](https://github.com/nvim-lua/plenary.nvim.git)
- [which-key.nvim](https://github.com/folke/which-key.nvim.git)
- [lazy.nvim](https://github.com/folke/lazy.nvim.git)
- [git-conflict.nvim](https://github.com/akinsho/git-conflict.nvim.git) - [git-conflict.nvim](https://github.com/akinsho/git-conflict.nvim.git)
- [friendly-snippets](https://github.com/rafamadriz/friendly-snippets.git)
- [hurl.nvim](https://github.com/jellydn/hurl.nvim.git)
- [outline.nvim](https://github.com/hedyhli/outline.nvim.git)
- [vim-cool](https://github.com/romainl/vim-cool.git)
- [trouble.nvim](https://github.com/folke/trouble.nvim.git)
- [conform.nvim](https://github.com/stevearc/conform.nvim.git)
- [Comment.nvim](https://github.com/numToStr/Comment.nvim.git)
- [todo-comments.nvim](https://github.com/folke/todo-comments.nvim.git)
- [nvim-ts-autotag](https://github.com/windwp/nvim-ts-autotag.git)
- [dressing.nvim](https://github.com/stevearc/dressing.nvim.git) - [dressing.nvim](https://github.com/stevearc/dressing.nvim.git)
- [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig.git) - [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig.git)
- [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git)
- [which-key.nvim](https://github.com/folke/which-key.nvim.git)
- [fidget.nvim](https://github.com/j-hui/fidget.nvim.git)
- [lualine.nvim](https://github.com/nvim-lualine/lualine.nvim.git)
- [lazydev.nvim](https://github.com/folke/lazydev.nvim.git)
- [plenary.nvim](https://github.com/nvim-lua/plenary.nvim.git)
- [luvit-meta](https://github.com/Bilal2453/luvit-meta.git)
- [mini.map](https://github.com/echasnovski/mini.map.git)
- [nvim-ts-autotag](https://github.com/windwp/nvim-ts-autotag.git)
- [lazy.nvim](https://github.com/folke/lazy.nvim.git)
- [vim-cool](https://github.com/romainl/vim-cool.git)
- [nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter.git)
- [conform.nvim](https://github.com/stevearc/conform.nvim.git)
- [todo-comments.nvim](https://github.com/folke/todo-comments.nvim.git)
- [catppuccin](https://github.com/catppuccin/nvim.git)
- [Comment.nvim](https://github.com/numToStr/Comment.nvim.git)
- [nvim-notify](https://github.com/rcarriga/nvim-notify.git)
- [nvim-surround](https://github.com/kylechui/nvim-surround.git) - [nvim-surround](https://github.com/kylechui/nvim-surround.git)
- [nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter.git)
- [fidget.nvim](https://github.com/j-hui/fidget.nvim.git)
- [catppuccin](https://github.com/catppuccin/nvim.git)
- [lazydev.nvim](https://github.com/folke/lazydev.nvim.git)
- [blink.cmp](https://github.com/saghen/blink.cmp.git) - [blink.cmp](https://github.com/saghen/blink.cmp.git)
- [trouble.nvim](https://github.com/folke/trouble.nvim.git)
- [telescope-fzf-native.nvim](https://github.com/nvim-telescope/telescope-fzf-native.nvim.git)
- [friendly-snippets](https://github.com/rafamadriz/friendly-snippets.git)

View File

@ -0,0 +1,32 @@
{
"Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
"blink.cmp": { "branch": "main", "commit": "b19413d214068f316c78978b08264ed1c41830ec" },
"catppuccin": { "branch": "main", "commit": "beaf41a30c26fd7d6c386d383155cbd65dd554cd" },
"conform.nvim": { "branch": "master", "commit": "5ac2bb57a9096f00ca50e1a3c46020d5930319b8" },
"dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" },
"fidget.nvim": { "branch": "main", "commit": "7fa433a83118a70fe24c1ce88d5f0bd3453c0970" },
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
"git-conflict.nvim": { "branch": "main", "commit": "4bbfdd92d547d2862a75b4e80afaf30e73f7bbb4" },
"hurl.nvim": { "branch": "main", "commit": "0e5430d5130fe95fc1b8b015491b50274aa2e796" },
"lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
"lazydev.nvim": { "branch": "main", "commit": "5231c62aa83c2f8dc8e7ba957aa77098cda1257d" },
"lualine.nvim": { "branch": "master", "commit": "47f91c416daef12db467145e16bed5bbfe00add8" },
"luvit-meta": { "branch": "main", "commit": "0ea4ff636c5bb559ffa78108561d0976f4de9682" },
"mini.map": { "branch": "main", "commit": "32a3a5d9a7c074dbb0a4a1d5943d09cb8edbab3f" },
"neo-tree.nvim": { "branch": "v3.x", "commit": "f3df514fff2bdd4318127c40470984137f87b62e" },
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
"nvim-lspconfig": { "branch": "master", "commit": "92ee7d42320edfbb81f3cad851314ab197fa324a" },
"nvim-notify": { "branch": "master", "commit": "8701bece920b38ea289b457f902e2ad184131a5d" },
"nvim-surround": { "branch": "main", "commit": "1098d7b3c34adcfa7feb3289ee434529abd4afd1" },
"nvim-treesitter": { "branch": "main", "commit": "d19def46c112c26c17adeef88dd1253cc6d623a1" },
"nvim-ts-autotag": { "branch": "main", "commit": "c4ca798ab95b316a768d51eaaaee48f64a4a46bc" },
"nvim-web-devicons": { "branch": "master", "commit": "803353450c374192393f5387b6a0176d0972b848" },
"outline.nvim": { "branch": "main", "commit": "1967ef50036b0b1eac4977aeede55915a741afe0" },
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "6fea601bd2b694c6f2ae08a6c6fab14930c60e2c" },
"telescope.nvim": { "branch": "master", "commit": "a8c2223ea6b185701090ccb1ebc7f4e41c4c9784" },
"todo-comments.nvim": { "branch": "main", "commit": "31e3c38ce9b29781e4422fc0322eb0a21f4e8668" },
"trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" },
"vim-cool": { "branch": "master", "commit": "9ea940c0d537e55de0de4c0298c04b976960fb12" },
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }
}

View File

@ -16,10 +16,12 @@ autocmd("BufEnter", {
user_command("ExportPlugins", function() user_command("ExportPlugins", function()
local plugins = require("lazy").plugins() local plugins = require("lazy").plugins()
local f, err = io.open("plugins", "w+") local f, err = io.open("README.md", "w+")
if f then if f then
f:write("# neovim config\n\n")
f:write("## plugins used\n\n")
for _, v in ipairs(plugins) do for _, v in ipairs(plugins) do
local plugin = string.format("[%s](%s)\n", v.name, v.url) local plugin = string.format("- [%s](%s)\n", v.name, v.url)
f:write(plugin) f:write(plugin)
end end

View File

@ -2,7 +2,7 @@ return {
{ {
"saghen/blink.cmp", "saghen/blink.cmp",
dependencies = "rafamadriz/friendly-snippets", dependencies = "rafamadriz/friendly-snippets",
version = "v0.*", version = "1.*",
---@module 'blink.cmp' ---@module 'blink.cmp'
---@type blink.cmp.Config ---@type blink.cmp.Config
opts = { opts = {
@ -15,24 +15,45 @@ return {
keymap = { preset = "enter" }, keymap = { preset = "enter" },
appearance = { appearance = {
use_nvim_cmp_as_default = true,
nerd_font_variant = "mono", nerd_font_variant = "mono",
}, },
signature = { enabled = true }, signature = { enabled = true },
fuzzy = {
sorts = {
"exact",
"score",
"sort_text",
},
},
sources = {
transform_items = function(_, items)
return vim.tbl_filter(function(item)
return item.kind ~= require("blink.cmp.types").CompletionItemKind.Snippet
end, items)
end,
},
completion = { completion = {
list = { list = {
selection = "manual", selection = {
preselect = false,
auto_insert = false,
},
}, },
accept = { accept = {
auto_brackets = { enabled = false }, auto_brackets = { enabled = false },
}, },
-- ghost_text = { ghost_text = {
-- enabled = true, enabled = true,
-- }, show_with_menu = true,
show_without_menu = true,
},
menu = { menu = {
draw = { draw = {
treesitter = { "lsp" },
columns = { { "kind_icon" }, { "label", "label_description", gap = 1 }, { "kind" } }, columns = { { "kind_icon" }, { "label", "label_description", gap = 1 }, { "kind" } },
}, },
}, },

View File

@ -6,27 +6,15 @@ return {
{ "j-hui/fidget.nvim", opts = {} }, { "j-hui/fidget.nvim", opts = {} },
}, },
config = function() config = function()
local lspconfig = require("lspconfig")
local capabilities = require("blink.cmp").get_lsp_capabilities()
-- Svelte
-- lspconfig.svelte.setup({
-- capabilities = capabilities,
-- })
-- Markdown -- Markdown
lspconfig.marksman.setup({ vim.lsp.enable("marksman")
capabilities = capabilities,
})
-- Python -- Python
lspconfig.pyright.setup({ vim.lsp.enable("pyright")
capabilities = capabilities,
})
-- Rust -- Rust
lspconfig.rust_analyzer.setup({ vim.lsp.enable("rust_analyzer")
capabilities = capabilities, vim.lsp.config("rust_analyzer", {
settings = { settings = {
["rust-analyzer"] = { ["rust-analyzer"] = {
cargo = { cargo = {
@ -60,22 +48,18 @@ return {
}) })
-- C -- C
lspconfig.clangd.setup({ vim.lsp.enable("clangd")
capabilities = capabilities,
})
-- TOML -- TOML
lspconfig.taplo.setup({ vim.lsp.enable("taplo")
capabilities = capabilities,
})
-- Lua -- Lua
local lua_rtp = vim.split(package.path, ";") local lua_rtp = vim.split(package.path, ";")
table.insert(lua_rtp, "lua/?.lua") table.insert(lua_rtp, "lua/?.lua")
table.insert(lua_rtp, "lua/?/init.lua") table.insert(lua_rtp, "lua/?/init.lua")
lspconfig.lua_ls.setup({ vim.lsp.enable("lua_ls")
capabilities = capabilities, vim.lsp.config("lua_ls", {
settings = { settings = {
Lua = { Lua = {
runtime = { runtime = {
@ -106,9 +90,7 @@ return {
-- }) -- })
-- Nim -- Nim
lspconfig.nim_langserver.setup({ vim.lsp.enable("nim_langserver")
capabilities = capabilities,
})
-- Clojure -- Clojure
-- lspconfig.clojure_lsp.setup({ -- lspconfig.clojure_lsp.setup({
@ -116,36 +98,30 @@ return {
-- }) -- })
-- Gleam -- Gleam
lspconfig.gleam.setup({ -- lspconfig.gleam.setup({
capabilities = capabilities, -- capabilities = capabilities,
}) -- })
-- Bash -- Bash
lspconfig.bashls.setup({ vim.lsp.enable("bashls")
capabilities = capabilities,
})
-- HTML -- HTML
lspconfig.html.setup({ vim.lsp.enable("html")
capabilities = capabilities, vim.lsp.config("html", {
filetypes = { "html", "templ", "htmldjango", "handlebars" }, filetypes = { "html", "templ", "htmldjango", "handlebars" },
}) })
-- HTMX -- HTMX
-- lspconfig.htmx.setup({ vim.lsp.enable("htmx")
-- capabilities = capabilities, vim.lsp.config("htmx", {
-- filetypes = { "html", "templ", "htmldjango" }, filetypes = { "html", "templ", "htmldjango" },
-- }) })
-- CSS -- CSS
lspconfig.cssls.setup({ vim.lsp.enable("cssls")
capabilities = capabilities,
})
-- JSON -- JSON
lspconfig.jsonls.setup({ vim.lsp.enable("jsonls")
capabilities = capabilities,
})
vim.api.nvim_create_autocmd("LspAttach", { vim.api.nvim_create_autocmd("LspAttach", {
group = vim.api.nvim_create_augroup("nvwynd-lsp-attach", { clear = true }), group = vim.api.nvim_create_augroup("nvwynd-lsp-attach", { clear = true }),

View File

@ -0,0 +1,73 @@
return {
{
"nvim-treesitter/nvim-treesitter",
build = ":TSUpdate",
config = function()
local ts = require("nvim-treesitter")
vim.filetype.add({
extension = {
fsh = "glsl",
vsh = "glsl",
hbs = "html",
},
})
ts.install({
-- web dev
"html",
"css",
"scss",
"javascript",
"typescript",
"svelte",
-- config
"toml",
"yaml",
"markdown",
"dockerfile",
"just",
-- vim
"vim",
"vimdoc",
"lua",
"query",
-- the cool stuff
"elixir",
"heex",
"rust",
"python",
"zig",
"nim",
"clojure",
"gleam",
"bash",
"hurl",
"gdscript",
-- the not so cool stuff
"c",
"java",
"groovy",
"glsl",
"wgsl",
})
vim.api.nvim_create_autocmd("FileType", {
pattern = { "<filetype>" },
callback = function()
vim.treesitter.start()
end,
})
vim.wo[0][0].foldexpr = "v:lua.vim.treesitter.foldexpr()"
vim.wo[0][0].foldmethod = "expr"
vim.bo.indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()"
end,
},
}

View File

@ -0,0 +1,5 @@
(
ROOT="$(pwd)"
clear
git-heatmap -a="Wynd" --root-dir "$ROOT" --split-months --months-per-row 7 --format numbers --use-author-time $@
)

View File

@ -0,0 +1,10 @@
#!/usr/bin/env bash
(
ROOT="$(pwd)"
clear
git-heatmap \
-r "$ROOT" -b "" \
-a "Wynd" --since $(date -d "5 years ago" +%Y-%m-%d) --until today \
--months-per-row 12 --split-months --use-author-time $@
)

View File

@ -0,0 +1,19 @@
#!/usr/bin/env bash
(
paths=(
"/home/wynd/Programming/Archive"
"/home/wynd/Programming/Active"
"/home/wynd/Lab"
)
root_dir=""
for f in ${paths[@]}; do
root_dir="$root_dir--root-dir $f "
done
clear
git-heatmap \
$root_dir \
-a="Wynd" --split-months --use-author-time $@
)

View File

@ -0,0 +1,20 @@
#!/usr/bin/env bash
(
paths=(
"/home/wynd/Programming/Archive"
"/home/wynd/Programming/Active"
"/home/wynd/Lab"
)
root_dir=""
for f in ${paths[@]}; do
root_dir="$root_dir--root-dir $f "
done
clear
git-heatmap \
$root_dir \
-a "Wynd" --since $(date -d "5 years ago" +%Y-%m-%d) --until today \
--months-per-row 12 --split-months --use-author-time $@
)

View File

@ -0,0 +1,19 @@
#!/usr/bin/env bash
(
paths=(
"/home/wynd/Programming/Archive"
"/home/wynd/Programming/Active"
"/home/wynd/Lab"
)
root_dir=""
for f in ${paths[@]}; do
root_dir="$root_dir--root-dir $f "
done
clear
git-heatmap \
$root_dir \
-a="Wynd" --split-months --months-per-row 7 --format numbers --use-author-time $@
)

View File

@ -62,15 +62,14 @@ export PATH="$GEMS_HOME/bin:$PATH"
export NIMBLE_HOME="$HOME/.nimble" export NIMBLE_HOME="$HOME/.nimble"
export PATH="$NIMBLE_HOME/bin:$PATH" export PATH="$NIMBLE_HOME/bin:$PATH"
# bun
export BUN_HOME="$HOME/.bun"
export PATH="$BUN_HOME/bin:$PATH"
[ -s "$BUN_HOME/_bun" ] && source "/$BUN_HOME/_bun"
# asdf setup # asdf setup
source "$HOME/.asdf/asdf.sh" source "$HOME/.asdf/asdf.sh"
fpath=(${ASDF_DIR}/completions $fpath) fpath=(${ASDF_DIR}/completions $fpath)
# JVM setup
export JAVA_HOME=/usr/lib/jvm/java-21-temurin
export PATH=$JAVA_HOME/bin:$PATH
# fzf setup # fzf setup
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh [ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
@ -99,7 +98,7 @@ alias myip="curl http://ipecho.net/plain; echo"
alias diskspace="df -ht ext4" alias diskspace="df -ht ext4"
alias since="days_since" alias since="days_since"
alias ytwav="yt-dlp -x --audio-format wav" alias ytwav="yt-dlp -x --audio-format wav"
alias ytmp3="yt-dlp -x --audio-format mp3" alias ytmp3="yt-dlp -x --audio-format mp3 --embed-thumbnail"
alias ytdv="yt-dlp" alias ytdv="yt-dlp"
alias docker-clean="docker system prune -a --filter \"until=72h\"" alias docker-clean="docker system prune -a --filter \"until=72h\""
alias flatpak-clean="flatpak uninstall --user --unused" alias flatpak-clean="flatpak uninstall --user --unused"
@ -136,16 +135,15 @@ function days_since() {(
alias repos="~/.local/bin/repos.sh" alias repos="~/.local/bin/repos.sh"
alias reposn="~/.local/bin/reposn.sh" alias reposn="~/.local/bin/reposn.sh"
alias reposl="~/.local/bin/reposl.sh" alias repoc="~/.local/bin/repoc.sh"
alias repo5y="~/.local/bin/repo5y.sh" alias repos5y="~/.local/bin/repos5y.sh"
alias repoc5y="~/.local/bin/repoc5y.sh"
# private SSH stuff # private SSH stuff
source ~/.piwrc source ~/.piwrc
# JVM switches # JVM switches
alias use-java8='export JAVA_HOME=/usr/lib/jvm/java-8-temurin;export PATH=$JAVA_HOME/bin:$PATH' alias use-java8='export JAVA_HOME=/usr/lib/jvm/java-8-temurin;export PATH=$JAVA_HOME/bin:$PATH'
alias use-java11='export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64;export PATH=$JAVA_HOME/bin:$PATH'
alias use-java17='export JAVA_HOME=/usr/lib/jvm/java-17-temurin;export PATH=$JAVA_HOME/bin:$PATH'
alias use-java21='export JAVA_HOME=/usr/lib/jvm/java-21-temurin;export PATH=$JAVA_HOME/bin:$PATH' alias use-java21='export JAVA_HOME=/usr/lib/jvm/java-21-temurin;export PATH=$JAVA_HOME/bin:$PATH'
# changing GREP highlight color # changing GREP highlight color
@ -171,6 +169,3 @@ figlet -f 'Red Phoenix' Wynd | lolcat
# starts starship # starts starship
eval "$(starship init zsh)" eval "$(starship init zsh)"
# bun completions
[ -s "/home/wynd/.bun/_bun" ] && source "/home/wynd/.bun/_bun"

49
dot.py
View File

@ -2,18 +2,37 @@
import os import os
import re import re
from shutil import copyfile import shutil
from toml import load from toml import load
from glob import glob from glob import glob
from argparse import ArgumentParser from argparse import ArgumentParser
FG_GREEN = "\x1b[32m"
FG_RED = "\x1b[31m"
BACKUP_FOLDER = "./backup"
def is_root() -> bool:
"""
Not the most "correct" way but since this is for personal usage I don't care
"""
return os.geteuid() == 0
def manage_dot_files(dots, deploy=False, wipe=False):
if wipe:
# Nuke everything and bring the new stuff in
# Easy way to remove old stuff thats no longer linked in dot.toml
if not deploy:
shutil.rmtree(BACKUP_FOLDER)
os.makedirs(BACKUP_FOLDER, exist_ok=True)
def manage_dot_files(dots, deploy=False):
home_path = os.path.expanduser("~/")
for dot in dots: for dot in dots:
path = os.path.expanduser(dot["path"]) path = os.path.expanduser(dot["path"])
if deploy: if deploy:
path = str(path).replace(home_path, "./") path = BACKUP_FOLDER + path
ignore_list = dot["ignore"] if "ignore" in dot else [] ignore_list = dot["ignore"] if "ignore" in dot else []
for file in glob(path, recursive=True): for file in glob(path, recursive=True):
exp_pass = True exp_pass = True
@ -22,14 +41,18 @@ def manage_dot_files(dots, deploy=False):
if match is not None: if match is not None:
exp_pass = False exp_pass = False
break break
if exp_pass and os.path.isfile(file): if exp_pass and os.path.isfile(file):
if deploy: if deploy:
dest_path = file.replace("./", home_path) dest_path = file.replace(BACKUP_FOLDER, "")
else: else:
dest_path = file.replace(home_path, "./") dest_path = BACKUP_FOLDER + file
os.makedirs(os.path.dirname(dest_path), exist_ok=True) os.makedirs(os.path.dirname(dest_path), exist_ok=True)
copyfile(file, dest_path) try:
print(f"{file} -> {dest_path}") shutil.copy(file, dest_path)
print(f"{FG_GREEN}{file} -> {dest_path}")
except OSError:
print(f"{FG_RED}{file} requires root access to write, skipping")
if __name__ == "__main__": if __name__ == "__main__":
@ -52,10 +75,18 @@ if __name__ == "__main__":
default=False, default=False,
dest="deploy", dest="deploy",
) )
parser.add_argument(
"--wipe",
action="store_true",
help="Wipes the backup folder before bringing in the new backups, only works with --init flag",
required=False,
default=True,
dest="wipe",
)
args = parser.parse_args() args = parser.parse_args()
if args.init: if args.init:
manage_dot_files(config) manage_dot_files(config, False, args.wipe)
elif args.deploy: elif args.deploy:
manage_dot_files(config, True) manage_dot_files(config, True)
else: else:

View File

@ -15,7 +15,6 @@ path = "~/.config/tmux/tmux.conf"
[[dots]] [[dots]]
path = "~/.config/nvim/**/*" path = "~/.config/nvim/**/*"
ignore = ["README.md$", "/plugins$"]
[[dots]] [[dots]]
path = "~/.config/mpv/*.conf" path = "~/.config/mpv/*.conf"
@ -38,6 +37,23 @@ path = "~/.local/bin/best-gif.sh"
[[dots]] [[dots]]
path = "~/.local/bin/make-gif.sh" path = "~/.local/bin/make-gif.sh"
# [[dots]] [[dots]]
# path = "~/.config/nushell/*" path = "~/.local/bin/repos.sh"
# ignore = ["history.txt", "/completions$"]
[[dots]]
path = "~/.local/bin/reposn.sh"
[[dots]]
path = "~/.local/bin/repos5y.sh"
[[dots]]
path = "~/.local/bin/repoc.sh"
[[dots]]
path = "~/.local/bin/repoc5y.sh"
[[dots]]
path = "/etc/hosts"
[[dots]]
path = "/etc/fstab"