123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278 |
- # ---------------------------------------------------
- # f90.syntax
- # FORTRAN 90/95 language freeform syntax highlighting template.
- # Provides syntax highlighting rules for the
- # FORTRAN programming language.
- #
- # Based on FORTRAN77 version fortran.syntax
- # Author: John Theal
- # Email: jtheal@renegadelinuxbox.dhs.org
- # December 7, 1999
- # ---------------------------------------------------
- # Heavily modified by Paul Sheer <psheer@obsidian.co.za>.
- # Adjusted to Fortran 90 by Norbert Nemec <Norbert@Nemec-online.de>.
- caseinsensitive
- context default
- # keywords at the beginning of line
- keyword linestart \{0123456789\}\{0123456789\}\{0123456789\}\{0123456789\}\{0123456789\} brightred
- keyword linestart \{0123456789\}\{0123456789\}\{0123456789\}\{0123456789\} brightred
- keyword linestart \{0123456789\}\{0123456789\}\{0123456789\} brightred
- keyword linestart \{0123456789\}\{0123456789\} brightred
- keyword linestart \{0123456789\} brightred
- # structure
- keyword whole ASSIGNMENT white black
- keyword whole CONTAINS white black
- keyword whole END white black
- keyword whole FUNCTION white black
- keyword whole INTERFACE white black
- keyword whole INCLUDE white black
- keyword whole MODULE white black
- keyword whole OPERATOR white black
- keyword whole PROGRAM white black
- keyword whole SUBROUTINE white black
- # boolean and logical expressions / operators
- keyword .and. brightred/orange
- keyword .eq. brightred/orange
- keyword .eqv. brightred/orange
- keyword .false. brightred/orange
- keyword .ge. brightred/orange
- keyword .gt. brightred/orange
- keyword .le. brightred/orange
- keyword .lt. brightred/orange
- keyword .ne. brightred/orange
- keyword .neqv. brightred/orange
- keyword .not. brightred/orange
- keyword .or. brightred/orange
- keyword .true. brightred/orange
- keyword whole lge brightred/orange
- keyword whole lgt brightred/orange
- keyword whole lle brightred/orange
- keyword whole llt brightred/orange
- # declarations
- keyword whole ALLOCATABLE brightcyan
- keyword whole BLOCK brightcyan
- keyword whole CHARACTER brightcyan
- keyword whole COMMON brightcyan
- keyword whole COMPLEX brightcyan
- keyword whole DATA brightcyan
- keyword whole DIMENSION brightcyan
- keyword whole DOUBLE brightcyan
- keyword whole ELEMENTAL brightcyan
- keyword whole EQUIVALENCE brightcyan
- keyword whole EXTERNAL brightcyan
- keyword whole FORMAT brightcyan
- keyword whole IMPLICIT brightcyan
- keyword whole INTEGER brightcyan
- keyword whole INTENT brightcyan
- keyword whole INTRINSIC brightcyan
- keyword whole LOGICAL brightcyan
- keyword whole NAMELIST brightcyan
- keyword whole NONE brightcyan
- keyword whole ONLY brightcyan
- keyword whole OPTIONAL brightcyan
- keyword whole PARAMETER brightcyan
- keyword whole POINTER brightcyan
- keyword whole PRECISION brightcyan
- keyword whole PRIVATE brightcyan
- keyword whole PUBLIC brightcyan
- keyword whole PURE brightcyan
- keyword whole REAL brightcyan
- keyword whole SAVE brightcyan
- keyword whole TYPE brightcyan
- keyword whole USE brightcyan
- # general programming syntax
- keyword whole allocate brightgreen
- keyword whole assign brightgreen
- keyword whole call brightgreen
- keyword whole case brightgreen
- keyword whole deallocate brightgreen
- keyword whole default brightgreen
- keyword whole continue brightgreen
- keyword whole cycle brightgreen
- keyword whole do brightgreen
- keyword whole else brightgreen
- keyword whole elseif brightgreen
- keyword whole elsewhere brightgreen
- keyword whole end brightgreen
- keyword whole enddo brightgreen
- keyword whole endif brightgreen
- keyword whole exit brightgreen
- keyword whole for brightgreen
- keyword whole forall brightgreen
- keyword whole goto brightgreen
- keyword whole if brightgreen
- keyword whole nullify brightgreen
- keyword whole pause brightgreen
- keyword whole return brightgreen
- keyword whole select brightgreen
- keyword whole stop brightgreen
- keyword whole target brightgreen
- keyword whole then brightgreen
- keyword whole to brightgreen
- keyword whole where brightgreen
- keyword whole while brightgreen
- # headers
- keyword whole entry brightgreen
- # I/O functions
- # may have optional equal signs after them: 'keyword ='
- keyword whole access brightmagenta
- keyword whole backspace brightmagenta
- keyword whole blank brightmagenta
- keyword whole close brightmagenta
- keyword whole direct brightmagenta
- keyword whole endfile brightmagenta
- keyword whole err brightmagenta
- keyword whole exist brightmagenta
- keyword whole file brightmagenta
- keyword whole fmt brightmagenta
- keyword whole form brightmagenta
- keyword whole formatted brightmagenta
- keyword whole inquire brightmagenta
- keyword whole iostat brightmagenta
- keyword whole name brightmagenta
- keyword whole named brightmagenta
- keyword whole nextrec brightmagenta
- keyword whole number brightmagenta
- keyword whole open brightmagenta
- keyword whole opened brightmagenta
- keyword whole print brightmagenta
- keyword whole read brightmagenta
- keyword whole rec brightmagenta
- keyword whole recl brightmagenta
- keyword whole rewind brightmagenta
- keyword whole sequential brightmagenta
- keyword whole status brightmagenta
- keyword whole unformatted brightmagenta
- keyword whole unit brightmagenta
- keyword whole write brightmagenta
- # mathematical functions
- keyword whole abs yellow
- keyword whole achar yellow
- keyword whole acos yellow
- keyword whole aimag yellow
- keyword whole aint yellow
- keyword whole alog yellow
- keyword whole alog10 yellow
- keyword whole amax0 yellow
- keyword whole amax1 yellow
- keyword whole amin0 yellow
- keyword whole amin1 yellow
- keyword whole amod yellow
- keyword whole anint yellow
- keyword whole aprime yellow
- keyword whole asin yellow
- keyword whole atan yellow
- keyword whole atan2 yellow
- keyword whole acos yellow
- keyword whole cabs yellow
- keyword whole ceiling yellow
- keyword whole cexp yellow
- keyword whole char yellow
- keyword whole clog yellow
- keyword whole cmplx yellow
- keyword whole conjg yellow
- keyword whole cos yellow
- keyword whole cosh yellow
- keyword whole ccos yellow
- keyword whole csin yellow
- keyword whole csqrt yellow
- keyword whole dabs yellow
- keyword whole dacos yellow
- keyword whole dasin yellow
- keyword whole datan yellow
- keyword whole datan2 yellow
- keyword whole dble yellow
- keyword whole dcos yellow
- keyword whole dcosh yellow
- keyword whole dfloat yellow
- keyword whole ddmim yellow
- keyword whole dexp yellow
- keyword whole dim yellow
- keyword whole dint yellow
- keyword whole dlog yellow
- keyword whole dlog10 yellow
- keyword whole dmax1 yellow
- keyword whole dmin1 yellow
- keyword whole dmod yellow
- keyword whole dnint yellow
- keyword whole dsign yellow
- keyword whole dsin yellow
- keyword whole dsinh yellow
- keyword whole dsqrt yellow
- keyword whole dtan yellow
- keyword whole dtanh yellow
- keyword whole exp yellow
- keyword whole float yellow
- keyword whole floor yellow
- keyword whole iabs yellow
- keyword whole iachar yellow
- keyword whole ichar yellow
- keyword whole idim yellow
- keyword whole idint yellow
- keyword whole ifix yellow
- keyword whole index yellow
- keyword whole int yellow
- keyword whole isign yellow
- keyword whole len yellow
- keyword whole log yellow
- keyword whole log10 yellow
- keyword whole matmul yellow
- keyword whole max yellow
- keyword whole max0 yellow
- keyword whole max1 yellow
- keyword whole maxval yellow
- keyword whole min yellow
- keyword whole min0 yellow
- keyword whole min1 yellow
- keyword whole minval yellow
- keyword whole mod yellow
- keyword whole nint yellow
- keyword whole product yellow
- keyword whole rand yellow
- keyword whole random_number yellow
- keyword whole random_seed yellow
- keyword whole sign yellow
- keyword whole sin yellow
- keyword whole sinh yellow
- keyword whole sngl yellow
- keyword whole sqrt yellow
- keyword whole sum yellow
- keyword whole tan yellow
- keyword whole tanh yellow
- keyword whole transpose yellow
- # operators and syntax elements
- keyword ( brightcyan
- keyword ) brightcyan
- keyword : brightcyan
- keyword , brightcyan
- keyword ; brightcyan
- keyword \+ yellow
- keyword - yellow
- keyword \* yellow
- keyword / yellow
- keyword = yellow
- keyword < yellow
- keyword > yellow
- # comments and quotes
- keyword '*' green
- keyword "*" green
- #context &\n \n black cyan
- keyword &\n black cyan
- context format( ) green
- context ! \n brown
- spellcheck
|