home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 February / OpenLinux 2.3 CD.iso / live / usr / share / vim / syntax / expect.vim < prev    next >
Encoding:
Text File  |  1999-08-10  |  3.6 KB  |  102 lines

  1. " Vim syntax file
  2. " Language:    Expect
  3. " Maintainer:    Ralph Jennings <knowbudy@oro.net>
  4. " Last change:    1997 August 22
  5.  
  6. "TODO:
  7. " Find & fix any bugs I left in.
  8.  
  9. " Remove any old syntax stuff hanging around
  10. syn clear
  11.  
  12. " Reserved Expect variable prefixes.
  13. syn match   expectVariables "\$exp[a-zA-Z0-9_]*\|\$inter[a-zA-Z0-9_]*"
  14. syn match   expectVariables "\$spawn[a-zA-Z0-9_]*\|\$timeout[a-zA-Z0-9_]*"
  15.  
  16. " Normal Expect variables.
  17. syn match   expectVariables "\$env([^)]*)"
  18. syn match   expectVariables "\$any_spawn_id\|\$argc\|\$argv\d*"
  19. syn match   expectVariables "\$user_spawn_id\|\$spawn_id\|\$timeout"
  20.  
  21. " Expect variable arrays.
  22. syn match   expectVariables "\$\(expect\|interact\)_out([^)]*)"            contains=expectOutVar
  23.  
  24. " User defined variables.
  25. syn match   expectVariables "\$[a-zA-Z_][a-zA-Z0-9_]*"
  26.  
  27. " Reserved Expect command prefixes.
  28. syn match   expectCommand    "exp_[a-zA-Z0-9_]*"
  29.  
  30. " Normal Expect commands.
  31. syn keyword expectStatement    close debug disconnect
  32. syn keyword expectStatement    exit exp_continue exp_internal exp_open
  33. syn keyword expectStatement    exp_pid exp_version
  34. syn keyword expectStatement    fork inter_return interpreter
  35. syn keyword expectStatement    log_file log_user match_max overlay
  36. syn keyword expectStatement    parity remove_nulls return
  37. syn keyword expectStatement    send send_error send_log send_user
  38. syn keyword expectStatement    sleep spawn strace stty system
  39. syn keyword expectStatement    timestamp trace trap wait
  40.  
  41. " Tcl commands recognized and used by Expect.
  42. syn keyword expectCommand        proc
  43. syn keyword expectConditional    if else
  44. syn keyword expectRepeat        while for foreach
  45.  
  46. " Expect commands with special arguments.
  47. syn keyword expectStatement    expect expect_after expect_background            nextgroup=expectExpectOpts
  48. syn keyword expectStatement    expect_before expect_user interact            nextgroup=expectExpectOpts
  49.  
  50. syn match   expectSpecial contained  "\\."
  51.  
  52. " Options for "expect", "expect_after", "expect_background",
  53. " "expect_before", "expect_user", and "interact".
  54. syn keyword expectExpectOpts    default eof full_buffer null return timeout
  55.  
  56. syn keyword expectOutVar  contained  spawn_id seconds seconds_total
  57. syn keyword expectOutVar  contained  string start end buffer
  58.  
  59. " Numbers (Tcl style).
  60. syn case ignore
  61.   syn match  expectNumber    "\<\d\+\(u\=l\=\|lu\|f\)\>"
  62.   "floating point number, with dot, optional exponent
  63.   syn match  expectNumber    "\<\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\=\>"
  64.   "floating point number, starting with a dot, optional exponent
  65.   syn match  expectNumber    "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>"
  66.   "floating point number, without dot, with exponent
  67.   syn match  expectNumber    "\<\d\+e[-+]\=\d\+[fl]\=\>"
  68.   "hex number
  69.   syn match  expectNumber    "0x[0-9a-f]\+\(u\=l\=\|lu\)\>"
  70.   "syn match  expectIdentifier    "\<[a-z_][a-z0-9_]*\>"
  71. syn case match
  72.  
  73. syn region  expectString    start=+"+  end=+"+  contains=expectVariables,expectSpecial
  74.  
  75. " Are these really comments in Expect? (I never use it, so I'm just guessing).
  76. syn keyword expectTodo        contained TODO
  77. syn match   expectComment        "#.*$" contains=expectTodo
  78.  
  79. if !exists("did_expect_syntax_inits")
  80.   let did_expect_syntax_inits = 1
  81.   " The default methods for highlighting.  Can be overridden later
  82.   hi link expectVariables    Special
  83.   hi link expectCommand        Function
  84.   hi link expectStatement    Statement
  85.   hi link expectConditional    Conditional
  86.   hi link expectRepeat        Repeat
  87.   hi link expectExpectOpts    Keyword
  88.   hi link expectOutVar        Special
  89.   hi link expectSpecial        Special
  90.   hi link expectNumber        Number
  91.  
  92.   hi link expectString        String
  93.  
  94.   hi link expectComment        Comment
  95.   hi link expectTodo        Todo
  96.   "hi link expectIdentifier    Identifier
  97. endif
  98.  
  99. let b:current_syntax = "expect"
  100.  
  101. " vim: ts=8
  102.