summaryrefslogtreecommitdiff
path: root/gemfeed/examples/conf/dotfiles/helix
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2025-10-02 11:28:55 +0300
committerPaul Buetow <paul@buetow.org>2025-10-02 11:28:55 +0300
commit2b034797107660d4d83f8a7acdc55d32db785b82 (patch)
tree522fb586193c8a65ca6aee42df64eecc3555f644 /gemfeed/examples/conf/dotfiles/helix
parent4d7d90638186ac71067232007607f6637d560a4d (diff)
Update content for md
Diffstat (limited to 'gemfeed/examples/conf/dotfiles/helix')
-rw-r--r--gemfeed/examples/conf/dotfiles/helix/config.toml87
-rw-r--r--gemfeed/examples/conf/dotfiles/helix/languages.toml203
2 files changed, 290 insertions, 0 deletions
diff --git a/gemfeed/examples/conf/dotfiles/helix/config.toml b/gemfeed/examples/conf/dotfiles/helix/config.toml
new file mode 100644
index 00000000..0d96c3ff
--- /dev/null
+++ b/gemfeed/examples/conf/dotfiles/helix/config.toml
@@ -0,0 +1,87 @@
+theme = "adwaita-dark"
+
+[editor]
+bufferline = "always"
+rulers = [80, 100, 120, 140]
+line-number = "relative"
+mouse = true
+cursorline = true
+cursorcolumn = true
+continue-comments = false
+completion-timeout = 2000
+
+[editor.soft-wrap]
+enable = true
+
+[editor.inline-diagnostics]
+# cursor-line = "hint"
+
+[editor.auto-save]
+focus-lost = true
+after-delay.timeout = 3000
+after-delay.enable = true
+
+[editor.statusline]
+left = ["version-control", "mode", "spinner", "file-name", "position" ]
+center = ["diagnostics"]
+right = ["selections", "file-encoding", "file-line-ending", "file-type"]
+
+[editor.lsp]
+display-messages = true
+display-inlay-hints = false
+
+[editor.cursor-shape]
+normal = "block"
+insert = "underline"
+select = "bar"
+
+[editor.whitespace.render]
+space = "none"
+tab = "none"
+newline = "none"
+
+[keys.normal]
+D = ["ensure_selections_forward", "extend_to_line_end"]
+S = ["ensure_selections_forward", "extend_to_line_start"]
+0 = ["select_mode", "extend_to_file_start"]
+G = ["ensure_selections_forward", "extend_to_file_end"]
+"^" = ["move_prev_word_start", "move_next_word_end", "search_selection", "global_search"]
+"ret" = "goto_word"
+
+C-c = "yank_main_selection_to_clipboard"
+C-v = { b = "paste_clipboard_before", a = "paste_clipboard_after", r = ":clipboard-paste-replace" }
+A-c = "toggle_comments" # Was originally C-c, so mapped to ALT now
+
+# Helix related helpers
+C-h = { c = ":config-open", r = ":config-reload", C = ":run-shell-command cp -v ~/.config/helix/*.toml ~/git/conf/dotfiles/helix/", l = ":open ~/.config/helix/languages.toml", h = ":open ~/git/worktime/HelixCheat.md", L = ":log-open", d = ":theme default" }
+
+C-r = [ ":config-reload", ":reload-all" ]
+
+C-u = [ ":write", ":run-shell-command sh -c 'source ~/.hx.remote.source; scp $LOCAL_PATH $REMOTE_URI && echo Uploaded to $REMOTE_URI || echo Failed uploading to $REMOTE_URI'"]
+
+# Various helpers
+C-s = { e = ":set-option soft-wrap.enable true", d = ":set-option soft-wrap.enable false", s = "save_selection" }
+
+# Buffer stuff
+C-q = ":buffer-close"
+
+# AI commands are good here.
+C-p = { c = ":pipe ai correct this sentence and only print out the corrected text", r = ":pipe ai restructure and reword the input and dont leave information out and only print out the new text", a = ":pipe ai rewrite this in a more casual style", n = ":pipe ai these are book notes of mine. correct the grammar and re-organize the notes. use bullet points for short information and whole paragraphs for longer one. the output must be in Gemini Gemtext format with the star * as the bullet point symbol and not the minus - . dont leave out any content.", p = ":pipe ai" }
+# Will replace the above
+C-a = ":pipe hexai-tmux-action"
+
+# Git commands
+C-g = { d = ":run-shell-command git diff", p = ":run-shell-command git pull", u = ":run-shell-command git push", t = ":run-shell-command tmux new-window -n hx-git-tig tig", c = ":run-shell-command tmux split-window -v 'git commit -a'" }
+
+# Build commands
+C-l = { m = ":run-shell-command make", d = ":run-shell-command go-task dev", r = ":run-shell-command tmux new-window -n hx-go-task-run 'go-task run'" }
+
+[keys.normal.space]
+B = "file_picker_in_current_buffer_directory"
+Q = [ ":cd ~/QuickEdit", "file_picker_in_current_directory" ]
+
+[keys.select]
+"{" = "goto_prev_paragraph"
+"}" = "goto_next_paragraph"
+n = ["extend_search_next", "merge_selections"]
+N = ["extend_search_prev", "merge_selections"]
diff --git a/gemfeed/examples/conf/dotfiles/helix/languages.toml b/gemfeed/examples/conf/dotfiles/helix/languages.toml
new file mode 100644
index 00000000..60e6a19c
--- /dev/null
+++ b/gemfeed/examples/conf/dotfiles/helix/languages.toml
@@ -0,0 +1,203 @@
+[[language]]
+name = "hcl"
+scope = "source.hcl"
+injection-regex = "(hcl|tf|nomad)"
+language-id = "terraform"
+file-types = ["hcl", "tf", "nomad"]
+comment-token = "#"
+block-comment-tokens = { start = "/*", end = "*/" }
+indent = { tab-width = 2, unit = " " }
+language-servers = [ "terraform-ls", "hexai-lsp" ]
+auto-format = true
+
+[[language]]
+name = "go"
+auto-format= true
+diagnostic-severity = "hint"
+formatter = { command = "hx.goformatter" }
+language-servers = [ "gopls", "golangci-lint-lsp", "hexai-lsp" ]
+[language-server.hexai-lsp]
+command = "hexai-lsp"
+
+[language-server.gopls]
+command = "gopls"
+
+[language-server.gopls.config.hints]
+assignVariableTypes = true
+compositeLiteralFields = true
+constantValues = true
+functionTypeParameters = true
+parameterNames = true
+rangeVariableTypes = true
+
+# go install github.com/nametake/golangci-lint-langserver@latest │
+[language-server.golangci-lint-lsp]
+command = "golangci-lint-langserver"
+
+# golangci-lint-langserver depepds/calls golangci-lint
+# go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
+[language-server.golangci-lint-lsp.config]
+command = ["golangci-lint", "run", "--issues-exit-code=1"]
+# command = ["golangci-lint", "run", "--out-format", "json", "--issues-exit-code=1"]
+
+[[language]]
+name = "c"
+scope = "source.c"
+injection-regex = "c"
+file-types = ["c", "h"]
+comment-token = "//"
+language-servers = [ "clangd", "hexai-lsp" ]
+indent = { tab-width = 2, unit = " " }
+
+[[grammar]]
+name = "c"
+source = { git = "https://github.com/tree-sitter/tree-sitter-c", rev = "7175a6dd5fc1cee660dce6fe23f6043d75af424a" }
+
+[language-server.clangd]
+command = "clangd"
+
+[[language]]
+name = "perl"
+auto-format= true
+formatter = { command = "perltidy", args = ["-l=120"] }
+scope = "source.perl"
+file-types = ["pl", "pm", "t", "psgi", "raku", "rakumod", "rakutest", "rakudoc", "nqp", "p6", "pl6", "pm6", { glob = "Rexfile" }]
+shebangs = ["perl"]
+comment-token = "#"
+language-servers = [ "perlnavigator", "hexai-lsp" ]
+indent = { tab-width = 2, unit = " " }
+
+[[grammar]]
+name = "perl"
+source = { git = "https://github.com/tree-sitter-perl/tree-sitter-perl", rev = "e99bb5283805db4cb86c964722d709df21b0ac16" }
+
+[[language]]
+name = "pod"
+scope = "source.pod"
+injection-regex = "pod"
+file-types = ["pod"]
+
+[[grammar]]
+name = "pod"
+source = { git = "https://github.com/tree-sitter-perl/tree-sitter-pod", rev = "39da859947b94abdee43e431368e1ae975c0a424" }
+
+[[language]]
+name = "ruby"
+auto-format = true
+scope = "source.ruby"
+injection-regex = "ruby"
+file-types = [
+ "rb",
+ "rbs",
+ "rake",
+ "irb",
+ "gemspec",
+ { glob = "Gemfile" },
+ { glob = "Rakefile" }
+]
+shebangs = ["ruby"]
+comment-token = "#"
+language-servers = [ "ruby-lsp", "solargraph", "rubocop", "hexai-lsp" ]
+indent = { tab-width = 2, unit = " " }
+
+[[grammar]]
+name = "ruby"
+source = { git = "https://github.com/tree-sitter/tree-sitter-ruby", rev = "206c7077164372c596ffa8eaadb9435c28941364" }
+
+[[language]]
+name = "bash"
+scope = "source.bash"
+injection-regex = "(shell|bash|zsh|sh)"
+file-types = [
+ "sh",
+ "bash",
+ "zsh",
+ "zshenv",
+ "zlogin",
+ "zlogout",
+ "zprofile",
+ "zshrc",
+ "eclass",
+ "ebuild",
+ "bazelrc",
+ "Renviron",
+ "zsh-theme",
+ "ksh",
+ "cshrc",
+ "tcshrc",
+ "bashrc_Apple_Terminal",
+ "zshrc_Apple_Terminal",
+ { glob = "*zshrc*" },
+]
+shebangs = ["sh", "bash", "dash", "zsh"]
+comment-token = "#"
+language-servers = [ "bash-language-server", "hexai-lsp" ]
+indent = { tab-width = 2, unit = " " }
+
+[[language]]
+name = "fish"
+# scope = "source.fish"
+# injection-regex = "(fish)"
+# file-types = [
+# "fish",
+# ]
+# shebangs = ["fish" ]
+# comment-token = "#"
+language-servers = [ "fish-lsp", "hexai-lsp" ]
+# indent =dth = 4, unit = " " }
+
+[[grammar]]
+name = "bash"
+source = { git = "https://github.com/tree-sitter/tree-sitter-bash", rev = "275effdfc0edce774acf7d481f9ea195c6c403cd" }
+
+[language-server]
+bash-language-server = { command = "bash-language-server", args = ["start"] }
+vale-ls = { command = "vale-ls" }
+ruby-lsp = { command = "ruby-lsp"}
+rubocop = { command = "rubocop", args = ["--lsp"] }
+
+[[language]]
+name = "markdown"
+scope = "source.md"
+injection-regex = "md|markdown"
+file-types = ["md", "markdown", "mkd", "mdwn", "mdown", "markdn", "mdtxt", "mdtext", "workbook", "gmi", "tpl", "txt" ]
+roots = [".marksman.toml"]
+language-servers = [ "marksman", "markdown-oxide", "vale-ls", "hexai-lsp"]
+indent = { tab-width = 2, unit = " " }
+
+[[grammar]]
+name = "markdown"
+source = { git = "https://github.com/MDeiml/tree-sitter-markdown", rev = "aaf76797aa8ecd9a5e78e0ec3681941de6c945ee", subpath = "tree-sitter-markdown" }
+
+[[language]]
+name = "markdown.inline"
+scope = "source.markdown.inline"
+injection-regex = "markdown\\.inline"
+file-types = []
+grammar = "markdown_inline"
+
+[[grammar]]
+name = "markdown_inline"
+source = { git = "https://github.com/MDeiml/tree-sitter-markdown", rev = "aaf76797aa8ecd9a5e78e0ec3681941de6c945ee", subpath = "tree-sitter-markdown-inline" }
+
+[[language]]
+name = "gemini"
+scope = "source.gmi"
+file-types = ["gmi", "tpl"]
+
+[[grammar]]
+name = "gemini"
+source = { git = "https://git.sr.ht/~nbsp/tree-sitter-gemini", rev = "3cc5e4bdf572d5df4277fc2e54d6299bd59a54b3" }
+
+[[language]]
+name = "java"
+scope = "source.java"
+injection-regex = "java"
+file-types = ["java", "jav", "pde"]
+roots = ["pom.xml", "build.gradle", "build.gradle.kts"]
+language-servers = [ "jdtls", "hexai-lsp" ]
+indent = { tab-width = 2, unit = " " }
+
+[[grammar]]
+name = "java"
+source = { git = "https://github.com/tree-sitter/tree-sitter-java", rev = "09d650def6cdf7f479f4b78f595e9ef5b58ce31e" }