Skip to content

Commit

Permalink
added two xs.vim files from the vim share directory
Browse files Browse the repository at this point in the history
  • Loading branch information
petdance committed May 4, 2010
1 parent a064a01 commit 04242f6
Show file tree
Hide file tree
Showing 3 changed files with 68 additions and 0 deletions.
2 changes: 2 additions & 0 deletions Changes
Expand Up @@ -7,6 +7,8 @@ perl5:

Fix overzealous matching of /^package/ inside Pod (Hinrik)

Added xs.vim.

[FIXES]
Minor tweak to p6RxCharClass. Thanks, Arne Skjærholt.

Expand Down
12 changes: 12 additions & 0 deletions ftplugin/xs.vim
@@ -0,0 +1,12 @@
" Vim filetype plugin file
" Language: XS (Perl extension interface language)
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2001 Sep 18

" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
finish
endif

" Just use the C plugin for now.
runtime! ftplugin/c.vim ftplugin/c_*.vim ftplugin/c/*.vim
54 changes: 54 additions & 0 deletions syntax/xs.vim
@@ -0,0 +1,54 @@
" Vim syntax file
" Language: XS (Perl extension interface language)
" Maintainer: Michael W. Dodge <sarge@pobox.com>
" Last Change: 2001 May 09

" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
endif

" Read the C syntax to start with
if version < 600
source <sfile>:p:h/c.vim
else
runtime! syntax/c.vim
endif

" XS extentions
" TODO: Figure out how to look for trailing '='.
syn keyword xsKeyword MODULE PACKAGE PREFIX
syn keyword xsKeyword OUTPUT: CODE: INIT: PREINIT: INPUT:
syn keyword xsKeyword PPCODE: REQUIRE: CLEANUP: BOOT:
syn keyword xsKeyword VERSIONCHECK: PROTOTYPES: PROTOTYPE:
syn keyword xsKeyword ALIAS: INCLUDE: CASE:
" TODO: Figure out how to look for trailing '('.
syn keyword xsMacro SV EXTEND PUSHs
syn keyword xsVariable RETVAL NO_INIT
"syn match xsCast "\<\(const\|static\|dynamic\|reinterpret\)_cast\s*<"me=e-1
"syn match xsCast "\<\(const\|static\|dynamic\|reinterpret\)_cast\s*$"

" Define the default highlighting.
" For version 5.7 and earlier: only when not done already
" For version 5.8 and later: only when an item doesn't have highlighting yet
if version >= 508 || !exists("did_xs_syntax_inits")
if version < 508
let did_xs_syntax_inits = 1
command -nargs=+ HiLink hi link <args>
else
command -nargs=+ HiLink hi def link <args>
endif

HiLink xsKeyword Keyword
HiLink xsMacro Macro
HiLink xsVariable Identifier

delcommand HiLink
endif

let b:current_syntax = "xs"

" vim: ts=8

0 comments on commit 04242f6

Please sign in to comment.