summaryrefslogtreecommitdiffstats
path: root/runtime
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2010-07-21 22:05:20 +0200
committerBram Moolenaar <Bram@vim.org>2010-07-21 22:05:20 +0200
commite06c188bbf2ff5732cd9eecbf243d37efcf7be2a (patch)
tree3ea61644737a87187261505979f8f293662e69bb /runtime
parentcdda8fe1c6ff147b3c1f4408884ab4905aeb4e06 (diff)
Make it possible to load Perl dynamically on Unix. (James Vega)
Diffstat (limited to 'runtime')
-rw-r--r--runtime/doc/if_perl.txt15
-rw-r--r--runtime/doc/syntax.txt6
-rw-r--r--runtime/doc/todo.txt5
-rw-r--r--runtime/ftplugin/debchangelog.vim6
-rw-r--r--runtime/syntax/fortran.vim78
5 files changed, 83 insertions, 27 deletions
diff --git a/runtime/doc/if_perl.txt b/runtime/doc/if_perl.txt
index 842393a777..50f2712f39 100644
--- a/runtime/doc/if_perl.txt
+++ b/runtime/doc/if_perl.txt
@@ -1,4 +1,4 @@
-*if_perl.txt* For Vim version 7.3b. Last change: 2010 Jul 20
+*if_perl.txt* For Vim version 7.3b. Last change: 2010 Jul 21
VIM REFERENCE MANUAL by Sven Verdoolaege
@@ -265,12 +265,15 @@ Note that "EOF" must be at the start of the line.
==============================================================================
4. Dynamic loading *perl-dynamic*
-On MS-Windows the Perl library can be loaded dynamically. The |:version|
-output then includes |+perl/dyn|.
+On MS-Windows and Unix the Perl library can be loaded dynamically. The
+|:version| output then includes |+perl/dyn|.
-This means that Vim will search for the Perl DLL file only when needed. When
-you don't use the Perl interface you don't need it, thus you can use Vim
-without this DLL file.
+This means that Vim will search for the Perl DLL or shared library file only
+when needed. When you don't use the Perl interface you don't need it, thus
+you can use Vim without this file.
+
+
+MS-Windows ~
You can download Perl from http://www.perl.org. The one from ActiveState was
used for building Vim.
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index bdd3c4f9bd..9c9caefc85 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt* For Vim version 7.3b. Last change: 2010 Jul 20
+*syntax.txt* For Vim version 7.3b. Last change: 2010 Jul 21
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1083,7 +1083,9 @@ FORTRAN *fortran.vim* *ft-fortran-syntax*
Default highlighting and dialect ~
Highlighting appropriate for f95 (Fortran 95) is used by default. This choice
should be appropriate for most users most of the time because Fortran 95 is a
-superset of Fortran 90 and almost a superset of Fortran 77.
+superset of Fortran 90 and almost a superset of Fortran 77. Preliminary
+support for Fortran 2003 and Fortran 2008 features has been introduced and is
+automatically available in the default (f95) highlighting.
Fortran source code form ~
Fortran 9x code can be in either fixed or free source form. Note that the
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 0b736ba069..906d6ed9e9 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt* For Vim version 7.3b. Last change: 2010 Jul 20
+*todo.txt* For Vim version 7.3b. Last change: 2010 Jul 21
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -31,6 +31,7 @@ be worked on, but only if you sponsor Vim development. See |sponsor|.
-------------------- Known bugs and current work -----------------------
Include patch for horizontal scoll wheel? (Bjorn Winckler, 2010 Jul 20)
+Asked for a few changes.
Patch for Dynamic loading for Perl. (James Vega, 2010 Jul 20)
@@ -1124,8 +1125,6 @@ More patches:
Sep 13)
- Patch for adding "space" item in 'listchars'. (Jérémie Roquet, 2009 Oct 29,
Docs patch Oct 30)
-- Patch for supporting #rrggbb in color terminals. (Matt Wozniski)
- Where is a recent version of this patch? Or use CSApprox plugin?
- Replace ccomplete.vim by cppcomplete.vim from www.vim.org? script 1520 by
Vissale Neang. (Martin Stubenschrott) Asked Vissale to make the scripts
more friendly for the Vim distribution.
diff --git a/runtime/ftplugin/debchangelog.vim b/runtime/ftplugin/debchangelog.vim
index cd21e93d51..80ff8efe42 100644
--- a/runtime/ftplugin/debchangelog.vim
+++ b/runtime/ftplugin/debchangelog.vim
@@ -3,9 +3,9 @@
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
" Former Maintainers: Michael Piefel <piefel@informatik.hu-berlin.de>
" Stefano Zacchiroli <zack@debian.org>
-" Last Change: 2010-04-29
+" Last Change: 2010-07-11
" License: GNU GPL, version 2.0 or later
-" URL: http://hg.debian.org/hg/pkg-vim/vim/raw-file/tip/runtime/ftplugin/debchangelog.vim
+" URL: http://hg.debian.org/hg/pkg-vim/vim/file/unstable/runtime/ftplugin/debchangelog.vim
" Bug completion requires apt-listbugs installed for Debian packages or
" python-launchpadlib installed for Ubuntu packages
@@ -228,7 +228,7 @@ endfunction
augroup changelogMenu
au BufEnter * if &filetype == "debchangelog" | call <SID>MakeMenu() | endif
-au BufLeave * if &filetype == "debchangelog" | aunmenu Changelog | endif
+au BufLeave * if &filetype == "debchangelog" | silent! aunmenu Changelog | endif
augroup END
" }}}
diff --git a/runtime/syntax/fortran.vim b/runtime/syntax/fortran.vim
index 3d323fbb96..bcc77c5a51 100644
--- a/runtime/syntax/fortran.vim
+++ b/runtime/syntax/fortran.vim
@@ -1,16 +1,16 @@
" Vim syntax file
" Language: Fortran95 (and Fortran90, Fortran77, F and elf90)
-" Version: 0.88
+" Version: 0.89
" URL: http://www.unb.ca/chem/ajit/syntax/fortran.vim
-" Last Change: 2008 Nov 01
+" Last Change: 2010 July 21
" Maintainer: Ajit J. Thakkar (ajit AT unb.ca); <http://www.unb.ca/chem/ajit/>
-" Usage: Do :help fortran-syntax from Vim
+" Usage: For instructions, do :help fortran-syntax from Vim
" Credits:
" Version 0.1 was based on the fortran 77 syntax file by Mario Eusebio and
" Preben Guldberg. Useful suggestions were made by: Andrej Panjkov,
" Bram Moolenaar, Thomas Olsen, Michael Sternberg, Christian Reile,
" Walter Dieudonné, Alexander Wagner, Roman Bertle, Charles Rendleman,
-" and Andrew Griffiths. For instructions on use, do :help fortran from vim
+" Andrew Griffiths, Joe Krahn, and Hendrik Merx.
" For version 5.x: Clear all syntax items
" For version 6.x: Quit if a syntax file is already loaded
@@ -74,7 +74,7 @@ if !exists("b:fortran_fixed_source")
" Detection becomes more accurate and time-consuming if more lines
" are checked. Increase the limit below if you keep lots of comments at
" the very top of each file and you have a fast computer.
- let b:lmax = 250
+ let b:lmax = 500
if ( b:lmax > line("$") )
let b:lmax = line("$")
endif
@@ -82,7 +82,7 @@ if !exists("b:fortran_fixed_source")
let b:ln=1
while b:ln <= b:lmax
let b:test = strpart(getline(b:ln),0,5)
- if b:test[0] !~ '[Cc*!#]' && b:test !~ '^ \+[!#]' && b:test =~ '[^ 0-9\t]'
+ if b:test !~ '^[Cc*]' && b:test !~ '^ *[!#]' && b:test =~ '[^ 0-9\t]' && b:test !~ '^[ 0-9]*\t'
let b:fortran_fixed_source = 0
break
endif
@@ -207,7 +207,8 @@ endif
syn keyword fortranTypeEx external
syn keyword fortranIOEx format
-syn keyword fortranKeywordEx continue
+syn match fortranKeywordEx "\<continue\>"
+syn match fortranKeyword "^\s*\d\+\s\+continue\>"
syn match fortranKeywordEx "\<go\s*to\>"
syn region fortranStringEx start=+'+ end=+'+ contains=fortranContinueMark,fortranLeftMargin,fortranSerialNumber
syn keyword fortran77IntrinsicEx dim lge lgt lle llt mod
@@ -290,6 +291,40 @@ if b:fortran_dialect == "f95" || b:fortran_dialect == "F"
endif
endif
+if b:fortran_dialect == "f95"
+ " F2003
+ syn keyword fortran03Intrinsic command_argument_count get_command get_command_argument get_environment_variable is_iostat_end is_iostat_eor move_alloc new_line selected_char_kind same_type_as extends_type_of
+ " ISO_C_binding
+ syn keyword fortran03Constant c_null_char c_alert c_backspace c_form_feed c_new_line c_carriage_return c_horizontal_tab c_vertical_tab
+ syn keyword fortran03Constant c_int c_short c_long c_long_long c_signed_char c_size_t c_int8_t c_int16_t c_int32_t c_int64_t c_int_least8_t c_int_least16_t c_int_least32_t c_int_least64_t c_int_fast8_t c_int_fast16_t c_int_fast32_t c_int_fast64_t c_intmax_t C_intptr_t c_float c_double c_long_double c_float_complex c_double_complex c_long_double_complex c_bool c_char c_null_ptr c_null_funptr
+ syn keyword fortran03Intrinsic iso_c_binding c_loc c_funloc c_associated c_f_pointer c_f_procpointer
+ syn keyword fortran03Type c_ptr c_funptr
+ " ISO_Fortran_env
+ syn keyword fortran03Constant iso_fortran_env character_storage_size error_unit file_storage_size input_unit iostat_end iostat_eor numeric_storage_size output_unit
+ " IEEE_arithmetic
+ syn keyword fortran03Intrinsic ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode
+
+ syn keyword fortran03ReadWrite flush wait
+ syn keyword fortran03IO decimal round iomsg
+ syn keyword fortran03Type asynchronous nopass non_overridable pass protected volatile abstract extends import
+ syn keyword fortran03Type non_intrinsic value bind deferred generic final enumerator class
+ syn match fortran03Type "\<associate\>"
+ syn match fortran03Type "\<end\s*associate"
+ syn match fortran03Type "\<enum\s*,\s*bind\s*(\s*c\s*)"
+ syn match fortran03Type "\<end\s*enum"
+ syn match fortran03Conditional "\<select\s*type"
+ syn match fortran03Conditional "\<type\s*is\>"
+ syn match fortran03UnitHeader "\<abstract\s*interface\>"
+ syn match fortran03Operator "\([\|]\)"
+
+ " F2008
+ syn keyword fortran08Intrinsic acosh asinh atanh bessel_j0 bessel_j1 bessel_jn bessel_y0 bessel_y1 bessel_yn erf erfc erfc_scaled gamma log_gamma hypot norm2
+ syn keyword fortran08Intrinsic atomic_define atomic_ref execute_command_line leadz trailz storage_size merge_bits
+ syn keyword fortran08Intrinsic bge bgt ble blt dshiftl dshiftr findloc iall iany iparity image_index lcobound ucobound maskl maskr num_images parity popcnt poppar shifta shiftl shiftr this_image
+ syn keyword fortran08IO newunit
+ syn keyword fortran08Type contiguous
+endif
+
syn cluster fortranCommentGroup contains=fortranTodo
if (b:fortran_fixed_source == 1)
@@ -324,9 +359,9 @@ syn match cInclude "^\s*#\s*include\>\s*["<]" contains=cIncluded
if exists("fortran_fold") || exists("fortran_more_precise")
syn sync fromstart
elseif (b:fortran_fixed_source == 0)
- syn sync linecont "&" minlines=20
+ syn sync linecont "&" minlines=30
else
- syn sync minlines=20
+ syn sync minlines=30
endif
if version >= 600 && exists("fortran_fold")
@@ -336,15 +371,17 @@ if version >= 600 && exists("fortran_fold")
syn region fortranModule transparent fold keepend start="^\s*module\s\+\(procedure\)\@!\z(\a\w*\)" skip="^\([!c*]\|\s*#\).*$" excludenl end="\<end\s*\(module\(\s\+\z1\>\)\=\|$\)" contains=ALLBUT,fortranProgram
syn region fortranFunction transparent fold keepend extend start="^\s*\(elemental \|pure \|recursive \)\=\s*\(\(\(real \|integer \|logical \|complex \|double \s*precision \)\s*\((\(\s*kind\s*=\)\=\s*\w\+\s*)\)\=\)\|type\s\+(\s*\w\+\s*) \|character \((\(\s*len\s*=\)\=\s*\d\+\s*)\|(\(\s*kind\s*=\)\=\s*\w\+\s*)\)\=\)\=\s*function\s\+\z(\a\w*\)" skip="^\([!c*]\|\s*#\).*$" excludenl end="\<end\s*\($\|function\(\s\+\z1\>\)\=\)" contains=ALLBUT,fortranProgram,fortranModule
syn region fortranSubroutine transparent fold keepend extend start="^\s*\(elemental \|pure \|recursive \)\=\s*subroutine\s\+\z(\a\w*\)" skip="^\([!c*]\|\s*#\).*$" excludenl end="\<end\s*\($\|subroutine\(\s\+\z1\>\)\=\)" contains=ALLBUT,fortranProgram,fortranModule
- syn region fortranBlockData transparent fold keepend start="\<block\s*data\s\+\z(\a\w*\)" skip="^\([!c*]\|\s*#\).*$" excludenl end="\<end\s*\($\|block\s*data\(\s\+\z1\>\)\=\)" contains=ALLBUT,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortran77Loop,fortranCase,fortran90Loop,fortranIfBlock
+ syn region fortranBlockData transparent fold keepend start="\<block\s*data\(\s\+\z(\a\w*\)\)\=" skip="^\([!c*]\|\s*#\).*$" excludenl end="\<end\s*\($\|block\s*data\(\s\+\z1\>\)\=\)" contains=ALLBUT,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortran77Loop,fortranCase,fortran90Loop,fortranIfBlock
syn region fortranInterface transparent fold keepend extend start="^\s*interface\>" skip="^\([!c*]\|\s*#\).*$" excludenl end="\<end\s*interface\>" contains=ALLBUT,fortranProgram,fortranModule,fortran77Loop,fortranCase,fortran90Loop,fortranIfBlock
+ syn region fortranTypeDef transparent fold keepend extend start="^\s*type\s*\(,\s*\(public\|private\)\)\=\s*::" skip="^\([!c*]\|\s*#\).*$" excludenl end="\<end\s*type\>" contains=ALLBUT,fortranProgram,fortranModule,fortran77Loop,fortranCase,fortran90Loop,fortranIfBlock
else
syn region fortranProgram transparent fold keepend start="^\s*program\s\+\z(\a\w*\)" skip="^\s*[!#].*$" excludenl end="\<end\s*\(program\(\s\+\z1\>\)\=\|$\)" contains=ALLBUT,fortranModule
syn region fortranModule transparent fold keepend start="^\s*module\s\+\(procedure\)\@!\z(\a\w*\)" skip="^\s*[!#].*$" excludenl end="\<end\s*\(module\(\s\+\z1\>\)\=\|$\)" contains=ALLBUT,fortranProgram
syn region fortranFunction transparent fold keepend extend start="^\s*\(elemental \|pure \|recursive \)\=\s*\(\(\(real \|integer \|logical \|complex \|double \s*precision \)\s*\((\(\s*kind\s*=\)\=\s*\w\+\s*)\)\=\)\|type\s\+(\s*\w\+\s*) \|character \((\(\s*len\s*=\)\=\s*\d\+\s*)\|(\(\s*kind\s*=\)\=\s*\w\+\s*)\)\=\)\=\s*function\s\+\z(\a\w*\)" skip="^\s*[!#].*$" excludenl end="\<end\s*\($\|function\(\s\+\z1\>\)\=\)" contains=ALLBUT,fortranProgram,fortranModule
syn region fortranSubroutine transparent fold keepend extend start="^\s*\(elemental \|pure \|recursive \)\=\s*subroutine\s\+\z(\a\w*\)" skip="^\s*[!#].*$" excludenl end="\<end\s*\($\|subroutine\(\s\+\z1\>\)\=\)" contains=ALLBUT,fortranProgram,fortranModule
- syn region fortranBlockData transparent fold keepend start="\<block\s*data\s\+\z(\a\w*\)" skip="^\s*[!#].*$" excludenl end="\<end\s*\($\|block\s*data\(\s\+\z1\>\)\=\)" contains=ALLBUT,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortran77Loop,fortranCase,fortran90Loop,fortranIfBlock
+ syn region fortranBlockData transparent fold keepend start="\<block\s*data\(\s\+\z(\a\w*\)\)\=" skip="^\s*[!#].*$" excludenl end="\<end\s*\($\|block\s*data\(\s\+\z1\>\)\=\)" contains=ALLBUT,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortran77Loop,fortranCase,fortran90Loop,fortranIfBlock
syn region fortranInterface transparent fold keepend extend start="^\s*interface\>" skip="^\s*[!#].*$" excludenl end="\<end\s*interface\>" contains=ALLBUT,fortranProgram,fortranModule,fortran77Loop,fortranCase,fortran90Loop,fortranIfBlock
+ syn region fortranTypeDef transparent fold keepend extend start="^\s*type\s*\(,\s*\(public\|private\)\)\=\s*::" skip="^\s*[!#].*$" excludenl end="\<end\s*type\>" contains=ALLBUT,fortranProgram,fortranModule,fortran77Loop,fortranCase,fortran90Loop,fortranIfBlock
endif
if exists("fortran_fold_conditionals")
@@ -390,26 +427,41 @@ if version >= 508 || !exists("did_fortran_syn_inits")
" fortranMultiCommentLines
HiLink fortranKeyword Keyword
HiLink fortranConstructName Identifier
+ HiLink fortran03Conditional fortranConditional
HiLink fortranConditional Conditional
HiLink fortranRepeat Repeat
HiLink fortranTodo Todo
- HiLink fortranContinueMark Todo
+ if (b:fortran_fixed_source == 1)
+ HiLink fortranContinueMark Todo
+ else
+ HiLink fortranContinueMark Keyword
+ endif
HiLink fortranString String
HiLink fortranNumber Number
+ HiLink fortran03Operator fortranOperator
HiLink fortranOperator Operator
HiLink fortranBoolean Boolean
HiLink fortranLabelError Error
HiLink fortranObsolete Todo
+ HiLink fortran03Type fortranType
+ HiLink fortran08Type fortranType
HiLink fortranType Type
HiLink fortranStructure Type
HiLink fortranStorageClass StorageClass
- HiLink fortranCall fortranUnitHeader
+ HiLink fortranCall Function
+ HiLink fortran03UnitHeader fortranUnitHeader
HiLink fortranUnitHeader fortranPreCondit
+ HiLink fortran03ReadWrite fortranReadWrite
HiLink fortranReadWrite Keyword
+ HiLink fortran03IO fortranIO
+ HiLink fortran08IO fortranIO
HiLink fortranIO Keyword
HiLink fortran95Intrinsic fortran90Intrinsic
HiLink fortran77Intrinsic fortran90Intrinsic
HiLink fortran90Intrinsic Function
+ HiLink fortran03Intrinsic Function
+ HiLink fortran08Intrinsic Function
+ HiLink fortran03Constant Function
if ( b:fortran_dialect == "elf" || b:fortran_dialect == "F" )
HiLink fortranKeywordOb fortranObsolete