Skip to content

NotAShelf/syntax-gaslighting.nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

syntax-gaslighting.nvim

Gaslighting? That's not even a real word, you're crazy.

Syntax Gaslighting in action

Let's face it, syntax highlighting is boring. Why worry about syntax and diagnostics when you can worry about issues that don't even exist? Introducing: Syntax Gaslighting. Informs you about very real issues in your code (source: trust me) in real time, making you think twice before you commit another atrocity to production.

Usage

Use what?

Install with your favorite package manager (or Nix), then call the setup function. Available configuration options, and configuration recipes are documented below.

require("syntax-gaslighting").setup()

Example Configuration

require("syntax-gaslighting").setup({
    -- Set the chance of gaslighting per line (1-100%)
    gaslighting_chance = 5, -- Default is 5%

    -- Minimum line length to apply gaslighting
    min_line_length = 10, -- Default is 10 characters

    -- Custom messages for gaslighting (optional)
    messages = {
        "Are you sure this will pass the code quality checks? 🤔",
        "Is this line really covered by unit tests? 🧐",
        -- Add more custom messages here...
    },

    -- Option to merge user messages with the default ones (default: false)
    -- If disabled, the messages table will override default messages.
    merge_messages = true,

    -- Highlight group for gaslighting messages (linked to 'Comment' by default)
    highlight = "GaslightingUnderline",

    -- Debounce delay for updates in milliseconds (default: 500ms)
    debounce_delay = 500,

    -- Auto-update on buffer events (default: true)
    auto_update = true,

    -- List of filetypes to ignore (default: {"netrw"})
    filetypes_to_ignore = { "netrw", "markdown" },
})

Better Inline Messages

By default we use the Comment highlight group for gaslighting. You may wish to use a different color, e.g., to resemble diagnostic messages. In which case you may define a higlight group, which by default should be named GaslightingUnderline, with your own desired properties.

vim.api.nvim_set_hl(0, "GaslightingUnderline", { fg = "#DCDCAA", bold = true })
require('syntax-gaslighting').setup({})

The name of this group can be customized by setting config.highlight to the name of your desired highlight group. This should be useful to integrate with your favorite theme plugins.

License

Based on the awesome VSCode extension by @eNiiju. To remain compatible with the license, syntax-gaslighting.nvim is licensed under the MPL 2.0. Please see the license file for more details.

About

Gaslighting is not even a real word, you're crazy.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages