ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

HLSL Syntax

by MattSutherlin ST3

HLSL syntax highlighting for Sublime Text 3

Details

  • 1.5.10
  • github.​com
  • github.​com
  • 2 months ago
  • 31 minutes ago
  • 3 years ago

Installs

  • Total 2K
  • Win 2K
  • Mac 222
  • Linux 79
Apr 1 Mar 31 Mar 30 Mar 29 Mar 28 Mar 27 Mar 26 Mar 25 Mar 24 Mar 23 Mar 22 Mar 21 Mar 20 Mar 19 Mar 18 Mar 17 Mar 16 Mar 15 Mar 14 Mar 13 Mar 12 Mar 11 Mar 10 Mar 9 Mar 8 Mar 7 Mar 6 Mar 5 Mar 4 Mar 3 Mar 2 Mar 1 Feb 29 Feb 28 Feb 27 Feb 26 Feb 25 Feb 24 Feb 23 Feb 22 Feb 21 Feb 20 Feb 19 Feb 18 Feb 17
Windows 3 4 3 1 0 2 4 1 5 0 2 2 2 2 3 1 3 2 3 2 2 2 3 5 0 1 1 5 2 2 3 1 0 3 1 1 3 3 0 2 2 4 3 3 1
Mac 0 0 3 1 0 0 1 1 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 2 0 0 0 0 1 2 0 0 0
Linux 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0

Readme

Source
raw.​githubusercontent.​com

HLSL_ST3

HLSL tools for Sublime Text 3

I'm just trying to provide a better, more fully featured editing environment for HLSL. Because it's kind of ridiculous that we don't already have a real IDE for this.

The Syntax

A large part of that is the syntax file, where the goal is to hook as much as possile into Sublime's symbol indexer in the most correct, most granular way possible. Functions (and function-esque macros) will link between defintions and call sites in both directions, via GoTo Defintion and GoTo Reference. Structs link from usage to definition, via GoTo Definition. Most everything else will at least get scoped for theme coloration, but more universal coverage towards scope-aware autocompletions is a (long-term) work in progress.

The Scripts

While the syntax is the core of the plugin, the scripts are where I'm hoping to take it from a simple text editing experience and into being a real IDE experience.

Open Headers

You can right click an include statement to open the referenced file. By default, it will attempt to open relative to the same directory as the including file, but user settings allow additional include paths to be provided.

Get Intrinsic Information On Hover

Mousing over a language intrinsic will give you a popup with the MSDN description and a link to the MSDN page. Now you don't have to forever keep a tab open for the main intrinsics page, and let's be real, anyone reading this probably does.

Swap String Literal Params On Attributes

Can't ever remember what strings are valid for the paritioning attribute of a hull shader? Me either, and now you shouldn't have to. Right click any stage function attribute with a string literal param and get a list of the valid options to insert.

Lastly

Everything works best when your shader source is in an active sublime-project file. Otherwise, some features may only work across open files instead of all of your files.

Best with my HLSL-centric theme, Rocklobster: https://github.com/MattSutherlin/RockLobster_ST3Theme