commit
724d0f7108
2 changed files with 157 additions and 0 deletions
@ -0,0 +1,80 @@
|
||||
The file bc.vim in this folder is under the following license. |
||||
|
||||
VIM LICENSE |
||||
|
||||
I) There are no restrictions on distributing unmodified copies of Vim except |
||||
that they must include this license text. You can also distribute |
||||
unmodified parts of Vim, likewise unrestricted except that they must |
||||
include this license text. You are also allowed to include executables |
||||
that you made from the unmodified Vim sources, plus your own usage |
||||
examples and Vim scripts. |
||||
|
||||
II) It is allowed to distribute a modified (or extended) version of Vim, |
||||
including executables and/or source code, when the following four |
||||
conditions are met: |
||||
1) This license text must be included unmodified. |
||||
2) The modified Vim must be distributed in one of the following five ways: |
||||
a) If you make changes to Vim yourself, you must clearly describe in |
||||
the distribution how to contact you. When the maintainer asks you |
||||
(in any way) for a copy of the modified Vim you distributed, you |
||||
must make your changes, including source code, available to the |
||||
maintainer without fee. The maintainer reserves the right to |
||||
include your changes in the official version of Vim. What the |
||||
maintainer will do with your changes and under what license they |
||||
will be distributed is negotiable. If there has been no negotiation |
||||
then this license, or a later version, also applies to your changes. |
||||
The current maintainer is Bram Moolenaar <Bram@vim.org>. If this |
||||
changes it will be announced in appropriate places (most likely |
||||
vim.sf.net, www.vim.org and/or comp.editors). When it is completely |
||||
impossible to contact the maintainer, the obligation to send him |
||||
your changes ceases. Once the maintainer has confirmed that he has |
||||
received your changes they will not have to be sent again. |
||||
b) If you have received a modified Vim that was distributed as |
||||
mentioned under a) you are allowed to further distribute it |
||||
unmodified, as mentioned at I). If you make additional changes the |
||||
text under a) applies to those changes. |
||||
c) Provide all the changes, including source code, with every copy of |
||||
the modified Vim you distribute. This may be done in the form of a |
||||
context diff. You can choose what license to use for new code you |
||||
add. The changes and their license must not restrict others from |
||||
making their own changes to the official version of Vim. |
||||
d) When you have a modified Vim which includes changes as mentioned |
||||
under c), you can distribute it without the source code for the |
||||
changes if the following three conditions are met: |
||||
- The license that applies to the changes permits you to distribute |
||||
the changes to the Vim maintainer without fee or restriction, and |
||||
permits the Vim maintainer to include the changes in the official |
||||
version of Vim without fee or restriction. |
||||
- You keep the changes for at least three years after last |
||||
distributing the corresponding modified Vim. When the maintainer |
||||
or someone who you distributed the modified Vim to asks you (in |
||||
any way) for the changes within this period, you must make them |
||||
available to him. |
||||
- You clearly describe in the distribution how to contact you. This |
||||
contact information must remain valid for at least three years |
||||
after last distributing the corresponding modified Vim, or as long |
||||
as possible. |
||||
e) When the GNU General Public License (GPL) applies to the changes, |
||||
you can distribute the modified Vim under the GNU GPL version 2 or |
||||
any later version. |
||||
3) A message must be added, at least in the output of the ":version" |
||||
command and in the intro screen, such that the user of the modified Vim |
||||
is able to see that it was modified. When distributing as mentioned |
||||
under 2)e) adding the message is only required for as far as this does |
||||
not conflict with the license used for the changes. |
||||
4) The contact information as required under 2)a) and 2)d) must not be |
||||
removed or changed, except that the person himself can make |
||||
corrections. |
||||
|
||||
III) If you distribute a modified version of Vim, you are encouraged to use |
||||
the Vim license for your changes and make them available to the |
||||
maintainer, including the source code. The preferred way to do this is |
||||
by e-mail or by uploading the files to a server and e-mailing the URL. |
||||
If the number of changes is small (e.g., a modified Makefile) e-mailing a |
||||
context diff will do. The e-mail address to be used is |
||||
<maintainer@vim.org> |
||||
|
||||
IV) It is not allowed to remove this license from the distribution of the Vim |
||||
sources, parts of it or from a modified version. You may use this |
||||
license for previous Vim releases instead of the license that they came |
||||
with, at your option. |
@ -0,0 +1,77 @@
|
||||
" Vim syntax file |
||||
" Language: bc - An arbitrary precision calculator language |
||||
" Maintainer: Vladimir Scholtz <vlado@gjh.sk> |
||||
" Last change: 2020 Apr 17 |
||||
" (Dominique Pelle added @Spell) |
||||
" (Gavin D. Howard added extensions) |
||||
" Available on: www.gjh.sk/~vlado/bc.vim |
||||
|
||||
" quit when a syntax file was already loaded |
||||
if exists("b:current_syntax") |
||||
finish |
||||
endif |
||||
|
||||
syn case ignore |
||||
|
||||
" Keywords |
||||
syn keyword bcKeyword if else while for break continue return limits halt quit |
||||
syn keyword bcKeyword define |
||||
syn keyword bcKeyword length read sqrt print |
||||
syn keyword bcKeyword abs maxibase maxobase maxscale |
||||
|
||||
" Variable |
||||
syn keyword bcType auto |
||||
|
||||
" Constant |
||||
syn keyword bcConstant scale ibase obase last |
||||
syn keyword bcConstant BC_BASE_MAX BC_DIM_MAX BC_SCALE_MAX BC_STRING_MAX |
||||
syn keyword bcConstant BC_LONG_BIT BC_BASE_DIGS BC_BASE_POW BC_OVERFLOW_MAX |
||||
syn keyword bcConstant BC_NAME_MAX BC_NUM_MAX |
||||
syn keyword bcConstant BC_ENV_ARGS BC_LINE_LENGTH BC_EXPR_EXIT |
||||
syn keyword bcConstant POSIXLY_CORRECT |
||||
|
||||
" Any other stuff |
||||
syn match bcIdentifier "[a-z_][a-z0-9_]*" |
||||
|
||||
" String |
||||
syn match bcString "\"[^"]*\"" contains=@Spell |
||||
|
||||
" Number |
||||
syn match bcNumber "[0-9]\+" |
||||
syn match bcNumber "[0-9]*\.[0-9]\+" |
||||
syn match bcNumber "[0-9]\+e-\=[0-9]\+" |
||||
syn match bcNumber "[0-9]*\.[0-9]\+e-\=[0-9]\+" |
||||
|
||||
" Only highlight 'void' where it is a keyword |
||||
syn match bcKeyword "\svoid\s\+\([a-z_][a-z0-9_]*(\)\@="hs=s+1,he=s+5 |
||||
|
||||
" Comment |
||||
syn match bcComment "\#.*" contains=@Spell |
||||
syn region bcComment start="/\*" end="\*/" contains=@Spell |
||||
|
||||
" Parent () |
||||
syn cluster bcAll contains=bcList,bcIdentifier,bcNumber,bcKeyword,bcType,bcConstant,bcString,bcParenError |
||||
syn region bcList matchgroup=Delimiter start="(" skip="|.\{-}|" matchgroup=Delimiter end=")" contains=@bcAll |
||||
syn region bcList matchgroup=Delimiter start="\[" skip="|.\{-}|" matchgroup=Delimiter end="\]" contains=@bcAll |
||||
syn match bcParenError "]" |
||||
syn match bcParenError ")" |
||||
|
||||
|
||||
|
||||
syn case match |
||||
|
||||
" Define the default highlighting. |
||||
" Only when an item doesn't have highlighting yet |
||||
|
||||
hi def link bcKeyword Statement |
||||
hi def link bcType Type |
||||
hi def link bcConstant Constant |
||||
hi def link bcNumber Number |
||||
hi def link bcComment Comment |
||||
hi def link bcString String |
||||
hi def link bcSpecialChar SpecialChar |
||||
hi def link bcParenError Error |
||||
|
||||
|
||||
let b:current_syntax = "bc" |
||||
" vim: ts=8 |
Loading…
Reference in new issue