aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.config/helix/config.toml45
-rw-r--r--.config/helix/languages.toml40
-rw-r--r--.config/helix/themes/gruvbox-transparent.toml117
3 files changed, 202 insertions, 0 deletions
diff --git a/.config/helix/config.toml b/.config/helix/config.toml
new file mode 100644
index 0000000..86aeed6
--- /dev/null
+++ b/.config/helix/config.toml
@@ -0,0 +1,45 @@
+theme = "gruvbox-transparent"
+
+[editor]
+line-number = "absolute"
+mouse = false
+bufferline = "always"
+cursorline = true
+popup-border = "all"
+color-modes = true
+true-color = true
+
+[editor.cursor-shape]
+insert = "bar"
+normal = "block"
+select = "underline"
+
+[editor.file-picker]
+hidden = false
+
+[editor.indent-guides]
+character = "╎"
+render = true
+skip-levels = 1
+
+[editor.statusline]
+left = ["mode", "spinner", "version-control", "file-name", "read-only-indicator", "file-modification-indicator"]
+center = []
+right = ["diagnostics", "selections", "file-encoding", "register", "file-type", "position-percentage", "position"]
+separator = "│"
+mode.normal = "NORMAL"
+mode.insert = "INSERT"
+mode.select = "SELECT"
+
+[editor.lsp]
+display-messages = true
+display-inlay-hints = true
+
+[keys.normal]
+C-g = ":toggle-option indent-guides.render"
+C-o = ":config-open"
+C-r = ":config-reload"
+
+[keys.normal.space.space]
+h = ':set gutters ["diagnostics","spacer","diff"]'
+s = ':set gutters ["diagnostics","spacer","line-numbers","spacer","diff"]'
diff --git a/.config/helix/languages.toml b/.config/helix/languages.toml
new file mode 100644
index 0000000..5a1f5dd
--- /dev/null
+++ b/.config/helix/languages.toml
@@ -0,0 +1,40 @@
+# introduce new language server
+[language-server.scls]
+command = "simple-completion-language-server"
+
+[language-server.scls.config]
+max_completion_items = 20 # set max completion results len for each group: words, snippets, unicode-input
+snippets_first = true # completions will return before snippets by default
+feature_words = true # enable completion by word
+feature_snippets = true # enable snippets
+feature_unicode_input = true # enable "unicode input"
+feature_paths = true # enable path completion
+
+
+# write logs to /tmp/completion.log
+[language-server.scls.environment]
+RUST_LOG = "info,simple-completion-langauge-server=info"
+LOG_FILE = "/tmp/completion.log"
+
+# append langage server to existed languages
+[[language]]
+name = "bash"
+language-servers = [ "scls", "bash-language-server" ]
+
+[[language]]
+name = "lua"
+language-servers = [ "scls", "lua-language-server" ]
+
+[[language]]
+name = "python"
+language-servers = [ "scls", "pylsp" ]
+
+# introduce a new language to enable completion on any doc by forcing set language with :set-language stub
+[[language]]
+name = "stub"
+scope = "text.stub"
+file-types = []
+shebangs = []
+roots = []
+auto-format = false
+language-servers = [ "scls" ]
diff --git a/.config/helix/themes/gruvbox-transparent.toml b/.config/helix/themes/gruvbox-transparent.toml
new file mode 100644
index 0000000..21f8992
--- /dev/null
+++ b/.config/helix/themes/gruvbox-transparent.toml
@@ -0,0 +1,117 @@
+# Author : Justine Smithies <justine@smithies.me.uk> # The theme uses the gruvbox dark palette with standard contrast and transparent background
+# if the terminal supports it: github.com/morhetz/gruvbox
+
+"attribute" = "aqua1"
+"keyword" = { fg = "red1" }
+"keyword.directive" = "red0"
+"namespace" = "aqua1"
+"punctuation" = "orange1"
+"punctuation.delimiter" = "orange1"
+"operator" = "purple1"
+"special" = "purple0"
+"variable.other.member" = "blue1"
+"variable" = "fg1"
+"variable.builtin" = "orange1"
+"variable.parameter" = "fg2"
+"type" = "yellow1"
+"type.builtin" = "yellow1"
+"constructor" = { fg = "purple1", modifiers = ["bold"] }
+"function" = { fg = "green1", modifiers = ["bold"] }
+"function.macro" = "aqua1"
+"function.builtin" = "yellow1"
+"tag" = "red1"
+"comment" = { fg = "gray1", modifiers = ["italic"] }
+"constant" = { fg = "purple1" }
+"constant.builtin" = { fg = "purple1", modifiers = ["bold"] }
+"string" = "green1"
+"constant.numeric" = "purple1"
+"constant.character.escape" = { fg = "fg2", modifiers = ["bold"] }
+"label" = "aqua1"
+"module" = "aqua1"
+
+"diff.plus" = "green1"
+"diff.delta" = "orange1"
+"diff.minus" = "red1"
+
+"warning" = "yellow1"
+"error" = "red1"
+"info" = "aqua1"
+"hint" = "blue1"
+
+"ui.background" = { }
+"ui.linenr" = { fg = "bg4" }
+"ui.linenr.selected" = { fg = "yellow1" }
+"ui.cursorline" = { bg = "bg1" }
+"ui.statusline" = { fg = "fg1", bg = "bg2" }
+"ui.statusline.normal" = { fg = "black", bg = "green1" }
+"ui.statusline.insert" = { fg = "fg1", bg = "blue0" }
+"ui.statusline.select" = { fg = "fg1", bg = "orange0" }
+"ui.statusline.inactive" = { fg = "fg4", bg = "bg1" }
+"ui.bufferline" = { fg = "fg1", bg = "bg1" }
+"ui.bufferline.active" = { fg = "bg0", bg = "yellow0" }
+"ui.bufferline.background" = { bg = "bg2" }
+"ui.popup" = { bg = "bg1" }
+"ui.window" = { bg = "bg1" }
+"ui.help" = { bg = "bg1", fg = "fg1" }
+"ui.text" = { fg = "fg1" }
+"ui.text.focus" = { fg = "fg1" }
+"ui.selection" = { bg = "bg2" }
+"ui.selection.primary" = { bg = "bg3" }
+"ui.cursor.primary" = { bg = "fg4", fg = "bg1" }
+"ui.cursor.match" = { bg = "bg3" }
+"ui.menu" = { fg = "fg1", bg = "bg2" }
+"ui.menu.selected" = { fg = "bg2", bg = "blue1", modifiers = ["bold"] }
+"ui.virtual.whitespace" = "bg2"
+"ui.virtual.ruler" = { bg = "bg1" }
+"ui.virtual.inlay-hint" = { fg = "gray1" }
+"ui.virtual.wrap" = { fg = "bg2" }
+"ui.virtual.jump-label" = { fg = "purple0", modifiers = ["bold"] }
+
+"diagnostic.warning" = { underline = { color = "yellow1", style = "curl" } }
+"diagnostic.error" = { underline = { color = "red1", style = "curl" } }
+"diagnostic.info" = { underline = { color = "aqua1", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "blue1", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+"markup.heading" = "aqua1"
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "green1", modifiers = ["underlined"] }
+"markup.link.text" = "red1"
+"markup.raw" = "red1"
+
+[palette]
+bg0 = "#282828" # main background
+bg1 = "#3c3836"
+bg2 = "#504945"
+bg3 = "#665c54"
+bg4 = "#7c6f64"
+
+fg0 = "#fbf1c7"
+fg1 = "#ebdbb2" # main foreground
+fg2 = "#d5c4a1"
+fg3 = "#bdae93"
+fg4 = "#a89984" # gray0
+
+gray0 = "#a89984"
+gray1 = "#928374"
+
+red0 = "#cc241d" # neutral
+red1 = "#fb4934" # bright
+green0 = "#98971a"
+green1 = "#b8bb26"
+yellow0 = "#d79921"
+yellow1 = "#fabd2f"
+blue0 = "#458588"
+blue1 = "#83a598"
+purple0 = "#b16286"
+purple1 = "#d3869b"
+aqua0 = "#689d6a"
+aqua1 = "#8ec07c"
+orange0 = "#d65d0e"
+orange1 = "#fe8019"
+
+black = "#000000"
+