Integrations - lukelex/railscasts.nvim GitHub Wiki

Integrations

Railscasts uses semantic highlight links so integrations inherit the same visual hierarchy as Neovim's core UI.

Terminal buffers and external terminals

Loading Railscasts assigns Neovim's terminal_color_0 through terminal_color_15 values. Embedded :terminal buffers therefore use the same ANSI language as the Kitty, WezTerm, Alacritty, Ghostty, Windows Terminal, and iTerm2 profiles.

See Palette for the shared ANSI mapping.

Kitty

Download extras/kitty.conf as a separate include file to avoid duplicate settings during updates. For the default Linux/macOS configuration directory:

curl -fLo ~/.config/kitty/railscasts.conf \
  https://raw.githubusercontent.com/lukelex/railscasts.nvim/main/extras/kitty.conf

Include it from ~/.config/kitty/kitty.conf (adjust paths if you use a custom configuration directory):

include railscasts.conf

WezTerm

Copy extras/wezterm.lua into your configuration directory and assign it to config.colors:

config.colors = dofile(os.getenv("HOME") .. "/.config/wezterm/railscasts.lua")

Adjust the path to match your configuration directory.

Alacritty

Copy extras/alacritty.toml into your configuration directory, then import it from alacritty.toml:

[general]
import = ["~/.config/alacritty/railscasts.toml"]

If your configuration already has a [general] section, add the import there.

Ghostty

Copy extras/ghostty.conf to your configuration directory as railscasts.conf, then include it from config:

config-file = railscasts.conf

Windows Terminal

Add extras/windows-terminal.json to the schemes array in settings.json, then select Railscasts as the color scheme in a profile.

iTerm2

Import extras/iterm2.itermcolors using Settings → Profiles → Colors → Color Presets → Import, then select the Railscasts preset for the profile.

Lualine

require("lualine").setup({
  options = { theme = "railscasts" },
})

The active mode segment follows the Railscasts mode language: green normal, orange insert, cyan visual, yellow replace, and red command.

Indentation

No configuration is needed for legacy IndentBlankLine groups or ibl v3 groups.

Kmonad

Railscasts natively detects .kbd files and provides Kmonad syntax groups. No additional syntax plugin or Railscasts-specific configuration is needed. See Language Support for its semantic roles.

UI plugins

No Railscasts-specific plugin configuration is needed. Supported groups include:

  • Snacks, mini.nvim, Trouble, nvim-notify, bufferline, and nvim-dap-ui
  • Diffview, vim-fugitive, dressing.nvim, nvim-navic, dropbar, and treesitter-context
  • rainbow-delimiters, aerial.nvim, outline.nvim, neogit, neotest, and fzf-lua
  • nvim-cmp, Blink, GitSigns, Neo-tree, Oil, WhichKey, Lazy, Noice, and render-markdown

Plugin UI should be loaded before applying the colorscheme so Railscasts can set the final semantic links. Supported plugins also inherit high-contrast, transparent, and dimmed-inactive behavior.

FzfLua live-search prompts and the current-buffer marker use Function; alternate-buffer markers use Comment. This replaces FzfLua's unrelated terminal defaults while keeping the current buffer easier to spot.