# frozen_string_literal: true # @param config [Vamp::Config] Vamp.configure do |config| config.leader = "space" config.clipboard_mode = "system" # "separate" keeps ordinary y/d/c/p/P internal config.file_explorer_side = "right" config.file_explorer_view = "tree" config.file_picker_view = "tree" # Status above, tabs and live battery below; either bar accepts all segments. config.bar.top = { left: [:mode, :path, :diagnostics, :selections, :count, :pending, :buffer], center: [], right: [:language, :lsp, :position], mode: { padding: 1, leading_edge: "", trailing_edge: "▓▒░" }, position: { padding: 1, leading_edge: "░▒▓", trailing_edge: "" } } config.bar.bottom = { left: [:tabs], center: [], right: [:battery], tabs: { title: "{index} {name}{modified}", padding: 1, leading_edge: "░▒▓", trailing_edge: "▓▒░", first_leading_edge: "" }, battery: { padding: 1, leading_edge: "░▒▓", trailing_edge: "" } } config.bind "ctrl+j", config.core.down, mode: config.modes.selection config.bind "ctrl+k", config.core.up, mode: config.modes.selection config.plugin "plugins/greeting.rb" # Native LSP is disabled by default; install a server and explicitly opt in. # config.lsp["rust"] = true # built-in rust-analyzer preset # config.lsp["ruby"] = true # built-in Solargraph stdio preset (gem install solargraph) # config.lsp["python"] = true # built-in ty + Ruff stack (install both separately) # config.lsp["my-language"] = { # command: ["my-language-server", "--stdio"], extensions: ["myl"], # initialization_options: {}, settings: {} # } # config.bind "leader d", config.core.lsp.definition # config.bind "leader D", config.core.lsp.diagnostics # config.bind "K", config.core.lsp.hover config.bind "g", "greet" config.bind "leader g", "greet" config.bind "leader q", config.core.quit config.bind "leader v", config.core.diff config.bind "ctrl+r", config.core.redo config.bind "leader r", config.core.repeat_last_edit config.bind "ctrl+c", config.core.normal, mode: config.modes.insert config.bind "ctrl+f", config.core.search config.bind "ctrl+c", config.core.normal, mode: config.modes.search config.bind "ctrl+w", config.core.word_next config.bind "ctrl+b", config.core.word_previous, mode: config.modes.insert config.bind "ctrl+v", config.core.select config.bind "ctrl+c", config.core.copy, mode: config.modes.visual config.bind "ctrl+x", config.core.cut, mode: config.modes.visual config.bind "ctrl+r", config.core.change, mode: config.modes.visual end