summaryrefslogtreecommitdiffstats
path: root/misc/syntax/f90.syntax
diff options
context:
space:
mode:
Diffstat (limited to 'misc/syntax/f90.syntax')
-rw-r--r--misc/syntax/f90.syntax278
1 files changed, 278 insertions, 0 deletions
diff --git a/misc/syntax/f90.syntax b/misc/syntax/f90.syntax
new file mode 100644
index 0000000..31e74bc
--- /dev/null
+++ b/misc/syntax/f90.syntax
@@ -0,0 +1,278 @@
+# ---------------------------------------------------
+# 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