Skip to content

Instantly share code, notes, and snippets.

@NimaMX
Last active May 23, 2022 10:43
Show Gist options
  • Select an option

  • Save NimaMX/c124842ba5201233e39fe33f3a81e469 to your computer and use it in GitHub Desktop.

Select an option

Save NimaMX/c124842ba5201233e39fe33f3a81e469 to your computer and use it in GitHub Desktop.

Revisions

  1. NimaMX revised this gist May 23, 2022. 2 changed files with 3 additions and 3 deletions.
    3 changes: 0 additions & 3 deletions Guide.md
    Original file line number Diff line number Diff line change
    @@ -1,3 +0,0 @@
    cp -rf fidl.vim ~/.vim/syntax/
    mkdir ~/.vim/ftdetect
    cp -rf ftdetect ~/.vim/ftdetect/fidl.vim
    3 changes: 3 additions & 0 deletions Guide.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,3 @@
    1. cp -rf fidl.vim ~/.vim/syntax/
    2. mkdir ~/.vim/ftdetect
    3. cp -rf ftdetect ~/.vim/ftdetect/fidl.vim
  2. NimaMX revised this gist May 23, 2022. 1 changed file with 0 additions and 2 deletions.
    2 changes: 0 additions & 2 deletions Guide.md
    Original file line number Diff line number Diff line change
    @@ -1,5 +1,3 @@
    cp -rf fidl.vim ~/.vim/syntax/

    mkdir ~/.vim/ftdetect

    cp -rf ftdetect ~/.vim/ftdetect/fidl.vim
  3. NimaMX revised this gist May 23, 2022. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions Guide.md
    Original file line number Diff line number Diff line change
    @@ -1,3 +1,5 @@
    cp -rf fidl.vim ~/.vim/syntax/

    mkdir ~/.vim/ftdetect

    cp -rf ftdetect ~/.vim/ftdetect/fidl.vim
  4. NimaMX created this gist May 23, 2022.
    3 changes: 3 additions & 0 deletions Guide.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,3 @@
    cp -rf fidl.vim ~/.vim/syntax/
    mkdir ~/.vim/ftdetect
    cp -rf ftdetect ~/.vim/ftdetect/fidl.vim
    67 changes: 67 additions & 0 deletions fidl.vim
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,67 @@
    " Vim syntax file
    " Language: FIDL (FRANCA Interface Description Language)
    " Maintainer: Gabriel Almeida <gabrielmarchesan AT gmail DOT com>
    " Latest Revision: Sat Jun 18 2016
    " History:
    " 0.1 (2015-06-30): Gabriel Almeida - first proposal
    " 0.2 (2016-06-18): Oleksandr Kravchuk - cleanups and small improvements

    " 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
    so <sfile>:p:h/c.vim
    else
    runtime! syntax/c.vim
    unlet b:current_syntax
    endif

    " Read the Javacc syntax to start with
    if version < 600
    so <sfile>:p:h/javacc.vim
    else
    runtime! syntax/javacc.vim
    unlet b:current_syntax
    endif

    " Keywords codelanguage-def[Franca]
    syn keyword fBoolean true false skipwhite
    syn keyword fType Int8 UInt8 Int16 UInt16 Int32 UInt32 Int64 UInt64 Boolean String Float Double ByteBuffe skipwhite
    syn keyword fStructure struct union enumeration typedef skipwhite

    syn keyword syntaxElementKeyword typeCollection interface attribute method broadcast in out error skipempty skipwhite
    syn keyword syntaxElementKeyword readonly noSubscriptions fireAndForget selective manages array of skipempty skipwhite
    syn keyword syntaxElementKeyword is map to extends polymorphic skipempty skipwhite
    syn keyword syntaxElementKeyword contract PSM vars state transition initial call respond signal set update skipempty skipwhite
    syn keyword syntaxElementKeyword version major minor const skipempty skipwhite

    " Keywords codelanguage-def[FDeploy]
    syn keyword syntaxElementKeyword import from specification extends for optional default providers instances interfaces skipempty skipwhite
    syn keyword syntaxElementKeyword type_collections attributes methods broadcasts arguments structs struct_fields skipempty skipwhite
    syn keyword syntaxElementKeyword unions union_fields arrays enumerations enumerators strings numbers integers floats skipempty skipwhite
    syn keyword syntaxElementKeyword Boolean Integer String Interface define provider instance interface attribute method skipempty skipwhite
    syn keyword syntaxElementKeyword broadcast in out array struct enumeration false true skipempty skipwhite

    " Keywords codelanguage-def[Xtend]
    syn keyword syntaxElementKeyword abstract continue def override for new switch assert default goto package synchronized skipempty skipwhite
    syn keyword syntaxElementKeyword boolean do if private this it break double implements protected throw byte else import skipempty skipwhite
    syn keyword syntaxElementKeyword public throws case enum instanceof return catch extends int short try char final static skipempty skipwhite
    syn keyword syntaxElementKeyword void class finally long float super while create dispatch extension typeof as val var skipempty skipwhite
    syn keyword syntaxElementKeyword true false null IF ELSE ELSEIF ENDIF FOR ENDFOR BEFORE AFTER SEPARATOR skipempty skipwhite

    syn keyword fTodo contained TODO FIXME XXX NOTE

    hi def link fConstant Constant
    hi def link fBoolean Boolean
    hi def link fType Type
    hi def link fTodo Todo
    hi def link fStructure Structure
    hi def link syntaxElementKeyword Keyword

    let b:current_syntax = "fidl"
    1 change: 1 addition & 0 deletions ftdetect
    Original file line number Diff line number Diff line change
    @@ -0,0 +1 @@
    au BufRead,BufNewFile *.fidl set filetype=fidl