summaryrefslogtreecommitdiff
path: root/ar
diff options
context:
space:
mode:
Diffstat (limited to 'ar')
-rw-r--r--ar/.config/TheSiahxyz/lua/TheSiahxyz/plugins/textobject.lua276
-rw-r--r--ar/.config/TheSiahxyz/lua/TheSiahxyz/plugins/treesitter.lua22
-rwxr-xr-xar/.local/bin/ppts123
-rwxr-xr-xar/.local/bin/shortcuts2
4 files changed, 273 insertions, 150 deletions
diff --git a/ar/.config/TheSiahxyz/lua/TheSiahxyz/plugins/textobject.lua b/ar/.config/TheSiahxyz/lua/TheSiahxyz/plugins/textobject.lua
index 3002fc0..2aa7054 100644
--- a/ar/.config/TheSiahxyz/lua/TheSiahxyz/plugins/textobject.lua
+++ b/ar/.config/TheSiahxyz/lua/TheSiahxyz/plugins/textobject.lua
@@ -1,140 +1,140 @@
return {
- "nvim-treesitter/nvim-treesitter-textobjects",
- dependencies = {
- { "nvim-treesitter", build = ":TSUpdate" },
- { "nvim-treesitter/nvim-treesitter" },
- {
- "chrisgrieser/nvim-various-textobjs",
- event = "UIEnter",
- opts = {
- keymaps = {
- useDefaults = true,
- },
- },
- },
- },
- init = function()
- local wk = require("which-key")
- wk.add({
- {
- mode = { "n", "v", "x" },
- { "g>", group = "Swap next" },
- { "g<", group = "Swap prev" },
- { "<leader>]", group = "Next" },
- { "<leader>[", group = "Prev" },
- },
- })
- end,
- config = function()
- require("nvim-treesitter.configs").setup({
- textobjects = {
- select = {
- enable = true,
-
- -- Automatically jump forward to textobj, similar to targets.vim
- lookahead = true,
-
- keymaps = {
- -- You can use the capture groups defined in textobjects.scm
- ["a="] = { query = "@assignment.outer", desc = "Select outer part of an assignment" },
- ["i="] = { query = "@assignment.inner", desc = "Select inner part of an assignment" },
- ["h="] = { query = "@assignment.lhs", desc = "Select left hand side of an assignment" },
- ["l="] = { query = "@assignment.rhs", desc = "Select right hand side of an assignment" },
-
- -- works for javascript/typescript files (custom capture I created in after/queries/ecma/textobjects.scm)
- ["a:"] = { query = "@property.outer", desc = "Select outer part of an object property" },
- ["i:"] = { query = "@property.inner", desc = "Select inner part of an object property" },
- ["h:"] = { query = "@property.lhs", desc = "Select left part of an object property" },
- ["l:"] = { query = "@property.rhs", desc = "Select right part of an object property" },
-
- ["aa"] = { query = "@parameter.outer", desc = "Select outer part of a parameter/argument" },
- ["ia"] = { query = "@parameter.inner", desc = "Select inner part of a parameter/argument" },
-
- ["an"] = { query = "@conditional.outer", desc = "Select outer part of a conditional" },
- ["in"] = { query = "@conditional.inner", desc = "Select inner part of a conditional" },
-
- ["ap"] = { query = "@loop.outer", desc = "Select outer part of a loop" },
- ["ip"] = { query = "@loop.inner", desc = "Select inner part of a loop" },
-
- ["af"] = { query = "@call.outer", desc = "Select outer part of a function call" },
- ["if"] = { query = "@call.inner", desc = "Select inner part of a function call" },
-
- ["am"] = {
- query = "@function.outer",
- desc = "Select outer part of a method/function definition",
- },
- ["im"] = {
- query = "@function.inner",
- desc = "Select inner part of a method/function definition",
- },
-
- ["ac"] = { query = "@class.outer", desc = "Select outer part of a class" },
- ["ic"] = { query = "@class.inner", desc = "Select inner part of a class" },
- },
- },
- swap = {
- enable = true,
- swap_next = {
- ["g>a"] = { query = "@parameter.inner", desc = "swap parameters/argument with next" },
- ["g>:"] = { query = "@property.outer", desc = "swap object property with next" },
- ["g>m"] = { query = "@function.outer", desc = "swap function with next" },
- },
- swap_previous = {
- ["g<a"] = { query = "@parameter.inner", desc = "swap parameters/argument with prev" },
- ["g<:"] = { query = "@property.outer", desc = "swap object property with prev" },
- ["g<m"] = { query = "@function.outer", desc = "swap function with previous" },
- },
- },
- move = {
- enable = true,
- set_jumps = true, -- whether to set jumps in the jumplist
- goto_next_start = {
- ["]f"] = { query = "@call.outer", desc = "Next function call start" },
- ["]m"] = { query = "@function.outer", desc = "Next method/function def start" },
- ["]c"] = { query = "@class.outer", desc = "Next class start" },
- ["]="] = { query = "@conditional.outer", desc = "Next conditional start" },
- ["]l"] = { query = "@loop.outer", desc = "Next loop start" },
-
- -- You can pass a query group to use query from `queries/<lang>/<query_group>.scm file in your runtime path.
- -- Below example nvim-treesitter's `locals.scm` and `folds.scm`. They also provide highlights.scm and indent.scm.
- ["]-"] = { query = "@scope", query_group = "locals", desc = "Next scope" },
- ["]z"] = { query = "@fold", query_group = "folds", desc = "Next fold" },
- },
- goto_next_end = {
- ["]F"] = { query = "@call.outer", desc = "Next function call end" },
- ["]M"] = { query = "@function.outer", desc = "Next method/function def end" },
- ["]C"] = { query = "@class.outer", desc = "Next class end" },
- ["]+"] = { query = "@conditional.outer", desc = "Next conditional end" },
- ["]L"] = { query = "@loop.outer", desc = "Next loop end" },
- },
- goto_previous_start = {
- ["[f"] = { query = "@call.outer", desc = "Prev function call start" },
- ["[m"] = { query = "@function.outer", desc = "Prev method/function def start" },
- ["[c"] = { query = "@class.outer", desc = "Prev class start" },
- ["[="] = { query = "@conditional.outer", desc = "Prev conditional start" },
- ["[l"] = { query = "@loop.outer", desc = "Prev loop start" },
- },
- goto_previous_end = {
- ["[F"] = { query = "@call.outer", desc = "Prev function call end" },
- ["[M"] = { query = "@function.outer", desc = "Prev method/function def end" },
- ["[C"] = { query = "@class.outer", desc = "Prev class end" },
- ["[+"] = { query = "@conditional.outer", desc = "Prev conditional end" },
- ["[L"] = { query = "@loop.outer", desc = "Prev loop end" },
- },
- },
- },
- })
-
- local ts_repeat_move = require("nvim-treesitter.textobjects.repeatable_move")
-
- -- vim way: ; goes to the direction you were moving.
- vim.keymap.set({ "n", "x", "o" }, ";", ts_repeat_move.repeat_last_move)
- vim.keymap.set({ "n", "x", "o" }, ",", ts_repeat_move.repeat_last_move_opposite)
-
- -- Optionally, make builtin f, F, t, T also repeatable with ; and ,
- vim.keymap.set({ "n", "x", "o" }, "f", ts_repeat_move.builtin_f_expr, { expr = true })
- vim.keymap.set({ "n", "x", "o" }, "F", ts_repeat_move.builtin_F_expr, { expr = true })
- vim.keymap.set({ "n", "x", "o" }, "t", ts_repeat_move.builtin_t_expr, { expr = true })
- vim.keymap.set({ "n", "x", "o" }, "T", ts_repeat_move.builtin_T_expr, { expr = true })
- end,
+ -- "nvim-treesitter/nvim-treesitter-textobjects",
+ -- dependencies = {
+ -- { "nvim-treesitter", build = ":TSUpdate" },
+ -- { "nvim-treesitter/nvim-treesitter" },
+ -- {
+ -- "chrisgrieser/nvim-various-textobjs",
+ -- event = "UIEnter",
+ -- opts = {
+ -- keymaps = {
+ -- useDefaults = true,
+ -- },
+ -- },
+ -- },
+ -- },
+ -- init = function()
+ -- local wk = require("which-key")
+ -- wk.add({
+ -- {
+ -- mode = { "n", "v", "x" },
+ -- { "g>", group = "Swap next" },
+ -- { "g<", group = "Swap prev" },
+ -- { "<leader>]", group = "Next" },
+ -- { "<leader>[", group = "Prev" },
+ -- },
+ -- })
+ -- end,
+ -- config = function()
+ -- require("nvim-treesitter.configs").setup({
+ -- textobjects = {
+ -- select = {
+ -- enable = true,
+ --
+ -- -- Automatically jump forward to textobj, similar to targets.vim
+ -- lookahead = true,
+ --
+ -- keymaps = {
+ -- -- You can use the capture groups defined in textobjects.scm
+ -- ["a="] = { query = "@assignment.outer", desc = "Select outer part of an assignment" },
+ -- ["i="] = { query = "@assignment.inner", desc = "Select inner part of an assignment" },
+ -- ["h="] = { query = "@assignment.lhs", desc = "Select left hand side of an assignment" },
+ -- ["l="] = { query = "@assignment.rhs", desc = "Select right hand side of an assignment" },
+ --
+ -- -- works for javascript/typescript files (custom capture I created in after/queries/ecma/textobjects.scm)
+ -- ["a:"] = { query = "@property.outer", desc = "Select outer part of an object property" },
+ -- ["i:"] = { query = "@property.inner", desc = "Select inner part of an object property" },
+ -- ["h:"] = { query = "@property.lhs", desc = "Select left part of an object property" },
+ -- ["l:"] = { query = "@property.rhs", desc = "Select right part of an object property" },
+ --
+ -- ["aa"] = { query = "@parameter.outer", desc = "Select outer part of a parameter/argument" },
+ -- ["ia"] = { query = "@parameter.inner", desc = "Select inner part of a parameter/argument" },
+ --
+ -- ["an"] = { query = "@conditional.outer", desc = "Select outer part of a conditional" },
+ -- ["in"] = { query = "@conditional.inner", desc = "Select inner part of a conditional" },
+ --
+ -- ["ap"] = { query = "@loop.outer", desc = "Select outer part of a loop" },
+ -- ["ip"] = { query = "@loop.inner", desc = "Select inner part of a loop" },
+ --
+ -- ["af"] = { query = "@call.outer", desc = "Select outer part of a function call" },
+ -- ["if"] = { query = "@call.inner", desc = "Select inner part of a function call" },
+ --
+ -- ["am"] = {
+ -- query = "@function.outer",
+ -- desc = "Select outer part of a method/function definition",
+ -- },
+ -- ["im"] = {
+ -- query = "@function.inner",
+ -- desc = "Select inner part of a method/function definition",
+ -- },
+ --
+ -- ["ac"] = { query = "@class.outer", desc = "Select outer part of a class" },
+ -- ["ic"] = { query = "@class.inner", desc = "Select inner part of a class" },
+ -- },
+ -- },
+ -- swap = {
+ -- enable = true,
+ -- swap_next = {
+ -- ["g>a"] = { query = "@parameter.inner", desc = "swap parameters/argument with next" },
+ -- ["g>:"] = { query = "@property.outer", desc = "swap object property with next" },
+ -- ["g>m"] = { query = "@function.outer", desc = "swap function with next" },
+ -- },
+ -- swap_previous = {
+ -- ["g<a"] = { query = "@parameter.inner", desc = "swap parameters/argument with prev" },
+ -- ["g<:"] = { query = "@property.outer", desc = "swap object property with prev" },
+ -- ["g<m"] = { query = "@function.outer", desc = "swap function with previous" },
+ -- },
+ -- },
+ -- move = {
+ -- enable = true,
+ -- set_jumps = true, -- whether to set jumps in the jumplist
+ -- goto_next_start = {
+ -- ["]f"] = { query = "@call.outer", desc = "Next function call start" },
+ -- ["]m"] = { query = "@function.outer", desc = "Next method/function def start" },
+ -- ["]c"] = { query = "@class.outer", desc = "Next class start" },
+ -- ["]="] = { query = "@conditional.outer", desc = "Next conditional start" },
+ -- ["]l"] = { query = "@loop.outer", desc = "Next loop start" },
+ --
+ -- -- You can pass a query group to use query from `queries/<lang>/<query_group>.scm file in your runtime path.
+ -- -- Below example nvim-treesitter's `locals.scm` and `folds.scm`. They also provide highlights.scm and indent.scm.
+ -- ["]-"] = { query = "@scope", query_group = "locals", desc = "Next scope" },
+ -- ["]z"] = { query = "@fold", query_group = "folds", desc = "Next fold" },
+ -- },
+ -- goto_next_end = {
+ -- ["]F"] = { query = "@call.outer", desc = "Next function call end" },
+ -- ["]M"] = { query = "@function.outer", desc = "Next method/function def end" },
+ -- ["]C"] = { query = "@class.outer", desc = "Next class end" },
+ -- ["]+"] = { query = "@conditional.outer", desc = "Next conditional end" },
+ -- ["]L"] = { query = "@loop.outer", desc = "Next loop end" },
+ -- },
+ -- goto_previous_start = {
+ -- ["[f"] = { query = "@call.outer", desc = "Prev function call start" },
+ -- ["[m"] = { query = "@function.outer", desc = "Prev method/function def start" },
+ -- ["[c"] = { query = "@class.outer", desc = "Prev class start" },
+ -- ["[="] = { query = "@conditional.outer", desc = "Prev conditional start" },
+ -- ["[l"] = { query = "@loop.outer", desc = "Prev loop start" },
+ -- },
+ -- goto_previous_end = {
+ -- ["[F"] = { query = "@call.outer", desc = "Prev function call end" },
+ -- ["[M"] = { query = "@function.outer", desc = "Prev method/function def end" },
+ -- ["[C"] = { query = "@class.outer", desc = "Prev class end" },
+ -- ["[+"] = { query = "@conditional.outer", desc = "Prev conditional end" },
+ -- ["[L"] = { query = "@loop.outer", desc = "Prev loop end" },
+ -- },
+ -- },
+ -- },
+ -- })
+ --
+ -- local ts_repeat_move = require("nvim-treesitter.textobjects.repeatable_move")
+ --
+ -- -- vim way: ; goes to the direction you were moving.
+ -- vim.keymap.set({ "n", "x", "o" }, ";", ts_repeat_move.repeat_last_move)
+ -- vim.keymap.set({ "n", "x", "o" }, ",", ts_repeat_move.repeat_last_move_opposite)
+ --
+ -- -- Optionally, make builtin f, F, t, T also repeatable with ; and ,
+ -- vim.keymap.set({ "n", "x", "o" }, "f", ts_repeat_move.builtin_f_expr, { expr = true })
+ -- vim.keymap.set({ "n", "x", "o" }, "F", ts_repeat_move.builtin_F_expr, { expr = true })
+ -- vim.keymap.set({ "n", "x", "o" }, "t", ts_repeat_move.builtin_t_expr, { expr = true })
+ -- vim.keymap.set({ "n", "x", "o" }, "T", ts_repeat_move.builtin_T_expr, { expr = true })
+ -- end,
}
diff --git a/ar/.config/TheSiahxyz/lua/TheSiahxyz/plugins/treesitter.lua b/ar/.config/TheSiahxyz/lua/TheSiahxyz/plugins/treesitter.lua
index c486343..7ca4ae9 100644
--- a/ar/.config/TheSiahxyz/lua/TheSiahxyz/plugins/treesitter.lua
+++ b/ar/.config/TheSiahxyz/lua/TheSiahxyz/plugins/treesitter.lua
@@ -3,7 +3,7 @@ return {
build = ":TSUpdate",
dependencies = { "nvim-treesitter/nvim-treesitter-textobjects" },
config = function()
- require("nvim-treesitter.configs").setup({
+ require("nvim-treesitter").setup({
-- A list of parser names, or "all"
ensure_installed = {
"bash",
@@ -45,16 +45,16 @@ return {
},
})
- local treesitter_parser_config = require("nvim-treesitter.parsers").get_parser_configs()
- treesitter_parser_config.templ = {
- install_info = {
- url = "https://github.com/vrischmann/tree-sitter-templ.git",
- files = { "src/parser.c", "src/scanner.c" },
- branch = "master",
- },
- }
-
- vim.treesitter.language.register("templ", "templ")
+ -- local treesitter_parser_config = require("nvim-treesitter.parsers").get_parser_configs()
+ -- treesitter_parser_config.templ = {
+ -- install_info = {
+ -- url = "https://github.com/vrischmann/tree-sitter-templ.git",
+ -- files = { "src/parser.c", "src/scanner.c" },
+ -- branch = "master",
+ -- },
+ -- }
+ --
+ -- vim.treesitter.language.register("templ", "templ")
end,
keys = {
{ "<leader>T", ":TSUpdate<cr>", desc = "Update treesitter" },
diff --git a/ar/.local/bin/ppts b/ar/.local/bin/ppts
new file mode 100755
index 0000000..e315367
--- /dev/null
+++ b/ar/.local/bin/ppts
@@ -0,0 +1,123 @@
+#!/bin/sh
+
+# Auto workflow script for git push with content/ directory handling
+# Usage: ppts
+# Automatically: git add ., commit without content/, push to origin, then add content/ and push to home
+
+# Always cd to THESIAH repository
+THESIAH_REPO="${THESIAH_WWW:-${HOME}/Private/repos/THESIAH}"
+
+if [ ! -d "$THESIAH_REPO" ]; then
+ echo "Error: THESIAH repository not found at $THESIAH_REPO"
+ exit 1
+fi
+cd "$THESIAH_REPO" || exit 1
+
+# Verify this is the correct git repository
+if ! git rev-parse --git-dir >/dev/null 2>&1; then
+ echo "Error: Not a git repository at $THESIAH_REPO"
+ exit 1
+fi
+
+# If no arguments, run auto workflow
+if [ -z "$1" ]; then
+ echo "Running auto workflow..."
+
+ # Step 0: Stage all changes first
+ echo "Step 0: Staging all changes..."
+ git add .
+
+ # Check if there are any changes to commit
+ if git diff --quiet && git diff --cached --quiet; then
+ echo "No changes to commit"
+ exit 0
+ fi
+
+ # Step 1: Unstage content/ from staging
+ echo "Step 1: Excluding content/ from staging..."
+ git reset content/ 2>/dev/null || true
+
+ # Check if there are changes to commit (excluding content/)
+ has_changes_without_content=false
+ if ! git diff --cached --quiet; then
+ has_changes_without_content=true
+ fi
+
+ # Check if content/ has changes
+ has_content_changes=false
+ if [ -d "content/" ]; then
+ # Check for untracked files in content/
+ if [ -n "$(git ls-files --others --exclude-standard content/ 2>/dev/null)" ]; then
+ has_content_changes=true
+ fi
+ # Check for modified tracked files in content/
+ if ! git diff --quiet content/ 2>/dev/null; then
+ has_content_changes=true
+ fi
+ # Check for staged changes in content/
+ if ! git diff --cached --quiet content/ 2>/dev/null; then
+ has_content_changes=true
+ fi
+ fi
+
+ # Step 2: Commit without content/ if there are changes
+ if [ "$has_changes_without_content" = true ]; then
+ echo "Step 2: Committing changes (without content/)..."
+ git commit -m "Update (without content/)" || exit 1
+
+ # Step 3: Push to origin (without content/)
+ echo "Step 3: Pushing to origin (without content/)..."
+ # Temporarily disable pre-push hook since we already excluded content/
+ hook_disabled=false
+ if [ -f .git/hooks/pre-push ]; then
+ mv .git/hooks/pre-push .git/hooks/pre-push.disabled
+ hook_disabled=true
+ fi
+ # Try normal push first
+ if git push origin master 2>/dev/null; then
+ # Push succeeded
+ :
+ else
+ # Push failed, try force push (origin may have diverged)
+ echo "Warning: Origin has diverged, using force push..."
+ git push origin master --force || {
+ # Restore hook if push failed
+ if [ "$hook_disabled" = true ] && [ -f .git/hooks/pre-push.disabled ]; then
+ mv .git/hooks/pre-push.disabled .git/hooks/pre-push
+ fi
+ exit 1
+ }
+ fi
+ # Restore hook after successful push
+ if [ "$hook_disabled" = true ] && [ -f .git/hooks/pre-push.disabled ]; then
+ mv .git/hooks/pre-push.disabled .git/hooks/pre-push
+ fi
+ echo "✓ Pushed to origin (without content/)"
+ else
+ echo "No changes to commit (excluding content/)"
+ fi
+
+ # Step 4: Add and commit content/ if there are changes
+ if [ "$has_content_changes" = true ]; then
+ echo "Step 4: Adding content/..."
+ git add content/
+
+ echo "Step 5: Committing content/..."
+ git commit -m "Update content/" || exit 1
+
+ # Step 6: Push to home (with content/)"
+ echo "Step 6: Pushing to home (with content/)..."
+ git push home master || exit 1
+ echo "✓ Pushed to home (with content/)"
+ else
+ echo "No content/ changes to commit"
+ fi
+
+ echo "Auto workflow completed!"
+ exit 0
+fi
+
+# If arguments provided, show usage
+echo "Usage: ppts"
+echo " Run without arguments to execute auto workflow"
+exit 1
diff --git a/ar/.local/bin/shortcuts b/ar/.local/bin/shortcuts
index af4ad58..e131ce4 100755
--- a/ar/.local/bin/shortcuts
+++ b/ar/.local/bin/shortcuts
@@ -18,7 +18,7 @@ else
yazi_shortcuts_tmp="/dev/null"
fi
command -v ranger && ranger_shortcuts="${XDG_CONFIG_HOME:-${HOME}/.config}/ranger/shortcuts.conf" || ranger_shortcuts="/dev/null"
-command -v qutebrowser && qute_shortcuts="$HOME/.qutebrowser/shortcuts.py" || qute_shortcuts="/dev/null"
+command -v qutebrowser && qute_shortcuts="$HOME/.config/qutebrowser/shortcuts.py" || qute_shortcuts="/dev/null"
command -v fish && fish_shortcuts="${XDG_CONFIG_HOME:-${HOME}/.config}/fish/shortcuts.fish" || fish_shortcuts="/dev/null"
command -v vifm && vifm_shortcuts="${XDG_CONFIG_HOME:-${HOME}/.config}/vifm/shortcuts.rc" || vifm_shortcuts="/dev/null"