Skip to content

kapitanluffy/sublime-semantic-highlighter

Repository files navigation

Semantic Highlighter

🌈 Highlights similar variables on focus

It underlines variables with the same string (for now). Sublime does this by double-clicking a word but why do two if you can do one!

oooh but that is not "semantic".. - a wise man

Sure. Here are suggestions for you though.

Installation
  • Install from packagecontrol.io or unpack the zip in your packages directory
Usage
  1. Move your cursor to a variable using the following:

    • Mouse πŸ–±
    • Arrow keys ⌨
  2. See colored underlines.

Preview

Features
  • See beautiful colors 🌈
  • Lessens stress (especially when accompanied with β˜•)
  • Improve understanding of your co-worker's gibberish code πŸ˜’
  • Easily see where that variable has been hiding πŸ‘€

Commands

  • semantic_highlighter_jump (ctrl+l, ctrl+j) Jump to the next variable in scope

  • semantic_highlighter_edit (ctrl+l, ctrl+e) Edit all the similar variables in scope

The color-scheme file

The package comes with a customizable template color scheme that has 144 varying HSL representations. For now, I simply fetch a random number and match it.

Creating a custom analyzer

The plugin will highlight symbols based on an analyzer. Since I cannot do every programming language, you can further improve variable detection by creating your own language analyzer.

For a quick intro, the analyzer class has a getBlockScope method that should return one of the following:

  • A scope name string of the block the symbol belongs to
  • None if the selection is a valid symbol but does not belong to any blocks (i.e. global variable)
  • False if the selection is not a valid symbol

To understand how "scopes" work, check out the following links:

Included analyzers
  • A generic fallback analyzer
  • Python
  • PHP
  • Javascript
  • Vue
Support

You can always support me via Github Sponsors, Patreon or Ko-fi

License

MIT

Links