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

LLVM

by whitequark ST2/ST3

LLVM assembly syntax highlighting and snippets

Details

  • 2016.11.20.11.44.19
  • github.​com
  • github.​com
  • 3 years ago
  • 57 minutes ago
  • 7 years ago

Installs

  • Total 3K
  • Win 876
  • OS X 1K
  • Linux 1K
Aug 17 Aug 16 Aug 15 Aug 14 Aug 13 Aug 12 Aug 11 Aug 10 Aug 9 Aug 8 Aug 7 Aug 6 Aug 5 Aug 4 Aug 3 Aug 2 Aug 1 Jul 31 Jul 30 Jul 29 Jul 28 Jul 27 Jul 26 Jul 25 Jul 24 Jul 23 Jul 22 Jul 21 Jul 20 Jul 19 Jul 18 Jul 17 Jul 16 Jul 15 Jul 14 Jul 13 Jul 12 Jul 11 Jul 10 Jul 9 Jul 8 Jul 7 Jul 6 Jul 5 Jul 4 Jul 3
Windows 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 1 2 0 1 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1
OS X 0 1 0 0 0 1 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 1 0 2 2 0 0 1 1 1 0 1 0 0 0 0 0
Linux 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1 1 2 0 0 0 0 0 0 1 0 0 0 0 0 0 2 0 1 0 0 1 0 0

Readme

Source
raw.​githubusercontent.​com

LLVM TextMate Bundle

This is a TextMate Bundle for viewing and editing LLVM (Low Level Virtual Machine) assembly files (.ll).

Installation

For background on installing TextMate Bundles read Installing a Bundle.

Install Location

If you plan on making changes to the Bundle that you want me to pickup, you must install in a different location than you would typically install TextMate Bundles. If you use the TextMate Bundle editor to edit a bundle in any location other than ~/Library/Application Support/TextMate/Bundles, it will create delta files which are very difficult to merge.

Normal Install

cd ~/Library/Application\ Support/TextMate/Pristine\ Copy/Bundles
git clone git@github.com:hansstimer/llvm.tmbundle.git 
osascript -e 'tell app "TextMate" to reload bundles'

Development Install

cd ~/Library/Application Support/TextMate/Bundles
git clone git@github.com:hansstimer/llvm.tmbundle.git 
osascript -e 'tell app "TextMate" to reload bundles'

Non TextMate Install

There are other editors that have some level of TextMate Bundle compatibility:

  • Sublime Text 2
  • Vico
  • VIM (with SnipMate plugin)
  • and many more

Please see the documentation for your editor as to where to put the files. Not all Bundle features will work with all editors, however most editors support TextMate snippet files now days.

Use

These are the snippets implemented:

Instruction Short Cut
alloca alloca
branch conditionally br
branch unconditionally bru
call call
def def
getelementptr getelementptr
hello world program hello
icmp icmp
load load
ret ret
store store

The syntax highlighting is basic, but it is enough to help clarify the elements of an LLVM file.

Contributing to LLVM.tmbundle

I'm happy to merge any fixes/additions people might have.

A word of caution on making changes outside the TextMate Bundle editor; you must make sure you create a new UUID for each new file you add to the bundle. TextMate uses the UUID to provide for a kind of inheritance and to support name changes. Most other editors which use the same files don't care about the UUIDs, but non unique UUIDs will break TextMate.

Each file contains a UUID that can not be replicated in any other file in any other Bundle. The TextMate Bundle editor will take care of this for you automatically, but if you use a text editor you will need to generate a new UUID for each new item you add to the bundle i.e. a new snippet. You can create a new UUID with uuidgen.