LLVM
LLVM assembly syntax highlighting and snippets
Details
Installs
- Total 5K
- Win 1K
- Mac 2K
- Linux 2K
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 28 | Feb 27 | Feb 26 | Feb 25 | Feb 24 | Feb 23 | Feb 22 | Feb 21 | Feb 20 | Feb 19 | Feb 18 | Feb 17 | Feb 16 | Feb 15 | Feb 14 | Feb 13 | Feb 12 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 0 | 0 | 1 | 0 | 2 | 2 | 0 | 0 | 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 | 1 | 1 | 0 | 0 | 0 | 0 | 0 |
Mac | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 2 | 2 |
Linux | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 1 | 1 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 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
.