diff --git a/package.json b/package.json new file mode 100644 index 0000000..56cda96 --- /dev/null +++ b/package.json @@ -0,0 +1,4 @@ +{ + "name": "phi-lang", + "version": "1.0.0", +} diff --git a/vim/ftdetect/phi.vim b/vim/ftdetect/phi.vim new file mode 100644 index 0000000..c40e8d7 --- /dev/null +++ b/vim/ftdetect/phi.vim @@ -0,0 +1,2 @@ +autocmd BufNewFile,BufRead *.phi setfiletype phi + diff --git a/vim/ftplugin/phi.vim b/vim/ftplugin/phi.vim new file mode 100644 index 0000000..3143dd1 --- /dev/null +++ b/vim/ftplugin/phi.vim @@ -0,0 +1 @@ +setlocal commentstring=//%s diff --git a/vim/syntax/phi.vim b/vim/syntax/phi.vim new file mode 100644 index 0000000..6402b2c --- /dev/null +++ b/vim/syntax/phi.vim @@ -0,0 +1,25 @@ +" Vim syntax file +" Language: phi +" Maintainer: SFJ +" Latest Revision: 1 January 1984 + +if exists("b:current_syntax") + finish +endif + + +syn keyword Keyword fn call return loop break if let do +syn keyword Special null +syn keyword Boolean true false + +syn match Number '0' +syn match Number '[1-9][0-9]*' + +syn region String start=+"+ skip=+\\"+ end=+"+ + +syn keyword Todo contained TODO FIXME XXX NOTE +syn match Comment "//.*$" contains=Todo + +syn match Identifier '[a-zA-Z_]\w*' + +let b:current_syntax = "phi"