_ini.schclass
上传用户:szled88
上传日期:2015-04-09
资源大小:43957k
文件大小:5k
源码类别:

对话框与窗口

开发平台:

Visual C++

  1. //=======================================================================
  2. //================ Lex class support ====================================
  3. //=======================================================================
  4. //      lexClass:
  5. //              name            = c_INI
  6. //              parent          = c_INI
  7. //              parent:file = <*.INI>      
  8. //
  9. //              children                = 0
  10. //              children                = class1, class2, ...
  11. //
  12. //              previous:class                  =       
  13. //              previous:tag                    =       
  14. //              previous:tag:separators =       
  15. //
  16. //              start:class             = 
  17. //              start:Tag               = '"'
  18. //
  19. //              skip:Tag                = '"'
  20. //
  21. //              end:class               = //
  22. //              end:Tag                 = '"'
  23. //              end:separators  = ' '
  24. //
  25. //              Token:tag               = 'if', 'for', 'while', 'do'
  26. //              Token:start:separators  = 
  27. //              Token:end:separators    = 
  28. //-----------------------------------------------------------------------
  29. //---------------- Attributes -------------------------------------------
  30. //-----------------------------------------------------------------------
  31. //      txt:colorFG     = 0xffc0c0 // color value in hex format. default: black 
  32. //      txt:colorBK     = 0xffc0c0 // color value in hex format. default: white         
  33. //
  34. //      txt:colorSelFG  = 0xffc0c0 // color value in hex format. default: white
  35. //      txt:colorSelBK  = 0xffc0c0 // color value in hex format. default: black
  36. //
  37. //      txt:Bold        = 1 // {1,0} default: 0
  38. //      txt:Italic      = 1 // {1,0} default: 0
  39. //      txt:Underline   = 1 // {1,0} default: 0
  40. //
  41. //      caseSensitive   = 1 // {1,0} default: 0
  42. //
  43. //      Collapsable     = 1 // {1,0} default: 0
  44. //      CollapsedText   = '/*...*/' // quoted string value. default: '[..]'     
  45. //
  46. //      ParseOnScreen   = 1 // {1,0} default: 0
  47. //      
  48. //-----------------------------------------------------------------------
  49. //* Global attributes ***************************************************
  50. //-----------------------------------------------------------------------
  51. //      global:FirstParseInSeparateThread       = 1             // {0,1} default=1
  52. //      global:EditReparceInSeparateThread      = 1             // {0,1} default=1
  53. //      global:ConfigChangedReparceInSeparateThread= 1 // {0,1} default=1
  54. //      global:EditReparceTimeout_ms    = 500           // default= 500 ms; time out for start reparse after last key was pressed.
  55. //      global:MaxBackParseOffset               = 100           // default= 100 chars; maximum back buffer size. Some times parser look back for the text from current position.
  56. //      global:OnScreenSchCacheLifeTime_sec = 180       // default= 180 sec; -1 and 0 means infinite; time out for on screen parsed pices of text. for memory using optimization.
  57. //      global:ParserThreadIdleLifeTime_sec = 60        // default=60 sec; -1 and 0 means infinite; time out for existing of parser thread when parser idle (no parse requests).
  58.         
  59. /////////////////////////////////////////////////////////////////////////
  60. //=======================================================================
  61. //================ Variables support ====================================
  62. //=======================================================================
  63. // NON operation - example:   @alpha:not
  64. //
  65. // @alpha       = a-z, A-Z
  66. // @digit       = 0-9
  67. // @HexDdigit   = 0-9, a-f, A-F
  68. // @specs       = "~`!@#$%^&*()_-+=\|{}[];:'",.<>/?"
  69. // @EOL         = End Of Line
  70. //---------------------------------------------
  71. // special tags:  '\', ''', 't', 'r', 'n'
  72. /////////////////////////////////////////////////////////////////////////
  73. lexClass: 
  74.         name                    = c_INI 
  75.         parent:file             = <*.INI>  
  76.         caseSensitive           = 0
  77. lexClass:       
  78.         name            = c_INISection
  79.         parent          = c_INI
  80.         start:Tag       = '['
  81.         end:tag         = ']', @eol
  82.         txt:colorFG     = 0xAA00AA
  83. lexClass:
  84.         name            = c_INIidentifier
  85.         parent          = c_INI
  86.         previous:tag    = @eol, ' ', 't'
  87.         start:Tag       = @alpha
  88.         skip:Tag        = @digit, '_'
  89.         end:separators  = @alpha:not
  90.         
  91.         txt:colorFG     = 0x0088AA
  92. lexClass:
  93.         name            = c_INIValue
  94.         parent          = c_INI
  95.         previous:tag    = '=' 
  96.         skip:Tag        = ' '
  97.         end:Tag         = @eol
  98.         txt:colorFG     = 0xAA11FF
  99. lexClass:
  100.         name            = c_INIString
  101.         parent          = c_INI
  102.         previous:tag    = '=', ' ', 't', @eol
  103.         start:Tag       = '"'
  104.         end:Tag         = '"'
  105.         
  106.         txt:colorFG     = 0xAA1111
  107. lexClass:
  108.         name            = c_INIRemark
  109.         parent          = c_INI
  110.         start:Tag       = ';'
  111.         end:Tag         = @eol
  112.         txt:colorFG     = 0x008200