11 stable releases

1.1.2+0.92.1 Apr 8, 2024
1.1.1+0.91.0 Mar 6, 2024
1.1.0+0.90.1 Feb 10, 2024
1.0.7 Nov 5, 2023
1.0.1 Jun 29, 2023

#88 in Development tools

Download history 13/week @ 2024-02-05 227/week @ 2024-02-12 17/week @ 2024-02-19 20/week @ 2024-02-26 161/week @ 2024-03-04 79/week @ 2024-03-11 14/week @ 2024-03-18 19/week @ 2024-04-01 174/week @ 2024-04-08 12/week @ 2024-04-15

206 downloads per month

MIT and maybe CC-PDDC

25KB
453 lines

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:

# 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

  • language <string>: This is an optional parameter that can be used to specify the language or file extension to aid language detection.

Flags

  • -h, --help: Display the help message for the highlight command.

  • -t, --theme <string>: The theme used for highlighting.

  • --list-themes: List all possible themes.

Configuration

The plugin can be configured using the $env.config.plugin.highlight variable.

[!IMPORTANT] The environment variables NU_PLUGIN_HIGHLIGHT_TRUE_COLORS and NU_PLUGIN_HIGHLIGHT_THEME are currently still supported but considered deprecated.

Start using $env.config.plugin.highlight.

true_colors

Enable or disable true colors (24-bit). By default, this is enabled.

$env.config.plugin.highlight.true_colors = true

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.config.plugin.highlight.theme to result in a single row with your selected theme. If you get no results, you have set an invalid theme.

$env.config.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:

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

  3. Find path of your installation:

    which nu_plugin_highlight
    
  4. Register the plugin with Nushell:

    register path/to/the/plugin/binary
    

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

help commands | where command_type == "plugin"

Version Numbering

Starting with version v1.1.0, the version number of nu-plugin-highlight incorporates the version number of its dependency, nu-plugin. This is denoted in the format v1.1.0+0.90.1, where v1.1.0 refers to the version of nu-plugin-highlight and 0.90.1 refers to the version of the nu-plugin dependency.

License

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

Dependencies

~23–56MB
~1M SLoC