nu-plugin-highlight

A nushell plugin for syntax highlighting.


Version License

About

nu-plugin-highlight is a plugin for Nushell that provides syntax highlighting for source code. It uses the syntect library for syntax highlighting and the bat library for easy access to its ready-to-use assets.

Usage

The highlight command can be used for syntax highlighting source code. Here are a few examples: ```nushell

Highlight a TOML file by its file extension

open Cargo.toml -r | highlight toml

Highlight a Rust file by programming language name

open src/main.rs | highlight Rust

Highlight a bash script by inferring the language (the file should start with a shebang)

open example.sh | highlight

Highlight a TOML file with a different theme

open Cargo.toml -r | highlight toml -t ansi

List all available themes

highlight --list-themes ```

Parameters

Flags

Configuration

The plugin can be configured using environment variables:

NUPLUGINHIGHLIGHTTRUECOLORS

Enable or disable true colors (24-bit). By default, this is enabled. nushell let-env NU_PLUGIN_HIGHLIGHT_TRUE_COLORS = true

NUPLUGINHIGHLIGHT_THEME

Set a theme to use. The default theme depends on the operating system. Use highlight --list-themes | where default == true to see your default theme. Setting this environment variable should allow highlight --list-themes | where id == $env.NU_PLUGIN_HIGHLIGHT_THEME to result in a single row with your selected theme. If you get no results, you have set an invalid theme. nushell let-env NU_PLUGIN_HIGHLIGHT_THEME = ansi

Plugin Installation

Installing and registering the nu-plugin-highlight is a straightforward process. Follow these steps:

  1. Install the plugin from crates.io using cargo: nushell cargo install nu-plugin-highlight

  2. Restart your terminal session to ensure the newly installed plugin is recognized.

  3. Register the plugin with Nushell: nushell register (which nu_plugin_highlight).path

After registering, the plugin is available as part of your set of commands:

nushell help commands | where command_type == "plugin"

License

nu_plugin_highlight is licensed under the MIT License. See LICENSE for more information.