diff options
Diffstat (limited to '.config/helix')
-rw-r--r-- | .config/helix/config.toml | 63 | ||||
-rw-r--r-- | .config/helix/languages.toml | 44 | ||||
-rw-r--r-- | .config/helix/themes/gruvbox-transparent.toml | 117 |
3 files changed, 224 insertions, 0 deletions
diff --git a/.config/helix/config.toml b/.config/helix/config.toml new file mode 100644 index 0000000..454b1ab --- /dev/null +++ b/.config/helix/config.toml @@ -0,0 +1,63 @@ +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] +# Move line or selection up/down +A-k = [ + "extend_to_line_bounds", + "delete_selection", + "move_line_up", + "paste_before" +] + +A-j = [ + "extend_to_line_bounds", + "delete_selection", + "move_line_down", + "paste_before" +] + +[keys.normal.space.space] +h = ':set gutters ["diagnostics","spacer","diff"]' +s = ':set gutters ["diagnostics","spacer","line-numbers","spacer","diff"]' + +# Config Mode +[keys.normal."C-backspace"] +o = ":config-open" +r = ":config-reload" +l = ":o ~/.config/helix/languages.toml" +g = ":toggle-option indent-guides.render" diff --git a/.config/helix/languages.toml b/.config/helix/languages.toml new file mode 100644 index 0000000..84d7e45 --- /dev/null +++ b/.config/helix/languages.toml @@ -0,0 +1,44 @@ +# 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" ] + +[[language]] +name = "toml" +language-servers = [ "scls" ] + +# 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" + |