Update readme

master
Max Bane 2015-01-11 17:34:25 -05:00
parent bc4b7063a2
commit f921b3f07a
1 changed files with 39 additions and 20 deletions

View File

@ -1,11 +1,11 @@
# vim-syntax-asm_ca65 # vim-syntax-asm_ca65
Vim syntax highlighting for the `ca65` assembler. Vim plugin for the `ca65` assembly language.
## Purpose ## Purpose
This repository provides `asm_ca65.vim`, a [Vim](http://www.vim.org/) This repository provides a [Vim](http://www.vim.org/)
syntax-highlighting module for the syntax-highlighting plugin, auto-indent plugin, and filetype plugin for the
[`ca65`](http://cc65.github.io/doc/ca65.html) assembler. [`ca65`](http://cc65.github.io/doc/ca65.html) assembly language.
`ca65` is a full-featured assembler for the [MOS `ca65` is a full-featured assembler for the [MOS
6502](https://en.wikipedia.org/wiki/MOS_Technology_6502) family of 6502](https://en.wikipedia.org/wiki/MOS_Technology_6502) family of
@ -24,17 +24,26 @@ conventions, and especially not with `ca65`'s many added features.
## Features ## Features
* Highlights 6502 instruction mnemonics as keywords, with special highlighting * Syntax highlighting
for "illegal" instructions, and error highlighting for unknown (typo) * Highlights 6502 instruction mnemonics as keywords, with special highlighting
instructions. for "illegal" instructions, and error highlighting for unknown (typo)
* Highlights all valid `ca65` numeric and string literals, label instructions.
definitions, and comments, with special highlighting for TODOs, FIXMEs, etc. * Highlights all valid `ca65` numeric and string literals, label
* Highlights all valid expression operators and control comands, with special definitions, and comments, with special highlighting for TODOs, FIXMEs, etc.
treatment for various classes of commands, including `.fileopt`, segment * Highlights all valid expression operators and control comands, with special
names, includes, macro definitions, storage types, conditional assembly, treatment for various classes of commands, including `.fileopt`, segment
linker control commands, structs, unions, procedures, pseudo-functions, some names, includes, macro definitions, storage types, conditional assembly,
built-in macros, console output commands (`.out`, `.warn`, .etc.), and linker control commands, structs, unions, procedures, pseudo-functions, some
assembler behavior switches. built-in macros, console output commands (`.out`, `.warn`, .etc.), and
assembler behavior switches.
* Auto-indent
* Auto-indent under labels, `.proc`s, `.if` statements, macro definitions,
macro call parameters, scopes, unions, and structs. Automatically
de-dent when closing these structures.
* Filetype plugin
* Defines `ca65` comment syntax for Vim's automatic comment formatting features.
* Recognizes `.include`, `.incbin`, and `.macpack` statements for Vim's
include-aware features.
### Examples (screenshots) ### Examples (screenshots)
@ -59,11 +68,21 @@ conventions, and especially not with `ca65`'s many added features.
* `.feature labels_without_colons` * `.feature labels_without_colons`
* `.feature underline_in_numbers` * `.feature underline_in_numbers`
## Installation ## Installation and Usage
Simply place `asm_ca65.vim` in your `~/.vim/syntax/` directory, or, if you use Install in the normal way (i.e., place the contents of the `syntax/`, `indent`/
Pathogen, clone this repository under `~/.vim/bundle/`. and `ftplugin/` directories in corresonding locations in your vim runtime
path), or, if you use [Pathogen](https://github.com/tpope/vim-pathogen), clone
this repository under `~/.vim/bundle/`.
## Usage Everything is enabled by setting a buffer's `filetype` to `asm_ca65`. For
example, if all of your `ca65` assembly source files end with the `.s` and
`.inc.`, suffixes, the follwing suffices in your `.vimrc`:
```vim
filetype plugin indent on
augroup filetypedetect
au BufNewFile,BufRead *.s,*.inc set ft=asm_ca65
augroup END
```
`:set syntax=asm_ca65` or create an `autocmd`, as with any syntax module.