~brian-sidebotham/wxwidgets-cmake/wxpython-2.9.4

« back to all changes in this revision

Viewing changes to wxPython/wx/tools/Editra/src/syntax/_gui4cli.py

  • Committer: Brian Sidebotham
  • Date: 2013-08-03 14:30:08 UTC
  • Revision ID: brian.sidebotham@gmail.com-20130803143008-c7806tkych1tp6fc
Initial import into Bazaar

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
###############################################################################
 
2
# Name: gui4cli.py                                                            #
 
3
# Purpose: Syntax configuration for the Gui4Cli programming language          #
 
4
# Author: Cody Precord <cprecord@editra.org>                                  #
 
5
# Copyright: (c) 2007 Cody Precord <staff@editra.org>                         #
 
6
# License: wxWindows License                                                  #
 
7
###############################################################################
 
8
 
 
9
"""
 
10
FILE: gui4cli.py
 
11
AUTHOR: Cody Precord
 
12
@summary: Lexer configuration module for Gui4Cli
 
13
 
 
14
"""
 
15
 
 
16
__author__ = "Cody Precord <cprecord@editra.org>"
 
17
__svnid__ = "$Id: _gui4cli.py 68798 2011-08-20 17:17:05Z CJP $"
 
18
__revision__ = "$Revision: 68798 $"
 
19
 
 
20
#-----------------------------------------------------------------------------#
 
21
# Imports
 
22
import wx.stc as stc
 
23
 
 
24
# Local Imports
 
25
import synglob
 
26
import syndata
 
27
 
 
28
#-----------------------------------------------------------------------------#
 
29
 
 
30
#---- Keyword Definitions ----#
 
31
GLOBALS = (0, "3STATE #ANSI #FIXANSI #FIXOEM #FIXSYS #GUI #SEPARATOR #SYS ABRI "
 
32
              "ACTIVE ALL ALTSTART APPDATA APPWIN ARRANGE ARROW ASCEND AUTO "
 
33
              "BACK BC BITBUCKET BL BOLD BORDER BOTTOM BR BUFFERS BUSY BUTTON "
 
34
              "BUTTONS CAPTION CENTER CHAR CHECK CHILD CLEAN CLEAR CLOSED "
 
35
              "COLOR COMM COMMON.ALTSTART COMMON.DESKTOP COMMON.FAVORITES "
 
36
              "COMMON.MENU COMMON.PROGRAMS COMMON.STARTUP COOKIES CROSS CURDIR "
 
37
              "CURRENT CURSOR DATA DATE DAY DECORATIVE DEF1 DEF2 DEF3 DEF4 "
 
38
              "DESCEND DESKTOP DIALOG DIR DISABLE DISABLED DISK DISKS DLBEGIN "
 
39
              "DLCOMPLETE DLGFRAME DOUBLE DRAG DROP DROPLIST DTTM EDIT EDITOR "
 
40
              "EFFECTS ELLIPSE EMBOSS END ENABLE ENDGUI ENGLISH ENTER ERROR "
 
41
              "EXISTS EXPLORE EXT FAIL FAVORITES FIELDS FILE FILES FIND FIRST "
 
42
              "FIXED FIXWIDTH FLAT FNUMBER FOCUS FOREGROUND FORMAT FORWARD "
 
43
              "FREE FRONT FULL FULLPATH GCDIR GCEXE GCNAME GREEK GRID GUIPATH "
 
44
              "HEAVY HEIGHT HELP HEX HIDDEN HIDE HIST HISTORY HOME HORIZONTAL "
 
45
              "HOT HOUR IBEAM ICLEFT INDEX INFO INT INVOKE ITALIC ITEM JULIAN "
 
46
              "JUSTIFY LARGE LAST LB LBLEFT LC LENGTH LIGHT LINE LINES LMB "
 
47
              "LMDC LOAD LOADED LOWER LT MAX MAXI MAXBOX MAXIMIZE MEDIUM MENU "
 
48
              "MINBOX MINI MINIMIZE MINUTE MMB MODERN MONTH MOVE MSEC MULTI "
 
49
              "NAME NAVCOMPLETE NETCACHE NETHOOD NEW NEWMENU NEXT NO NOADJUST "
 
50
              "NOBORDER NOERROR NOEXT NOFACE NOFILES NOFOCUS NOFOLDERS NONE "
 
51
              "NOOPEN NOREFRESH NORESET NORMAL NORTH NOSIZE NOVECTOR NOVRT NOW "
 
52
              "NOWRAP NUMBER OCTAL OFF OK OKCANCEL ON ONECLICK ONELINE OPEN "
 
53
              "OVERLAP OWNED PARENT PATH PCPATH PERIOD PERSONAL POLYGON PREFS "
 
54
              "PREV PREVIOUS PRINT PRINTERS PROGRAMS PROP PROPERTY PULSE "
 
55
              "QUESTION QUOTE RAGGED RAISED RB RC REC RECENT REFRESH REMOVE "
 
56
              "REMSIZE RENAME REPORT RESIZE RET RETRY RIGHT RMB ROMAN ROOT "
 
57
              "ROUNDED ROUTINE ROWS RT SAVE SCALABLE SCREEN SCRIPT SCROLL "
 
58
              "SEARCH SECOND SELECT SELECTED SELSCRIPT SENDTO SENSITIVE "
 
59
              "SENTENCE SHELL SHOW SILENT SIMPLE SINGLE SIZE SMALL SMOOTH "
 
60
              "SOLID SORT START STARTGUI STARTUP STAT0 STATIC STATUS STD STOP "
 
61
              "STRECH STRIKE SUBCHILD SUBSUB SUNK SUNKEN SWISS SYSMENU TAB "
 
62
              "TABS TC TEMPLATES TEXT THIN TIME TITLE TL TOGGLE TOOL TOP "
 
63
              "TOPMOST TOTAL TR TRANS TRANSPARENT TTONLY TYPE UNDERLINE "
 
64
              "UNFORMAT UNJULIAN UNQUOTE UNSELECT UNSELECTED UPPER USER VALID "
 
65
              "VARIABLE VCENTER VERSION VERTICAL VIEW WAIT WARN WHEEL WIDTH "
 
66
              "WINEDGE WORD YEAR YES YESNO YESTOALL YNCANCEL")
 
67
 
 
68
EVENTS = (1, "XAREA XBROWSER XBUTTON XCHECKBOX XCOMBO XEDBOX XGROUPBOX XICON "
 
69
             "XIMAGE XLISTVIEW XMENU XPAN XPROGRESS XRADIO XREBAR XSPLITER "
 
70
             "XSTATUS XTAB XTEXTBOX XTEXTIN XTOOLBAR XTRACKBAR XTREEVIEW "
 
71
             "XUPDOWN XAFTER XATTR XBEFORE XENUM XHOTKEY XNOTIFY XONACTIVE "
 
72
             "XONBROWSER XONCLICK XONCLOSE XONDOUBLECLICK XONDROP XONFAIL "
 
73
             "XONHELP XONINACTIVE XONKEY XONLMB XONLOAD XONLVCLICK XONLVDIR "
 
74
             "XONMARK XONMMB XONOPEN XONQUIT XONRELOAD XONRETURN XONRMB "
 
75
             "XONTEXTIN XONWHEELDOWN XONWHEELUP XPIPE XREQFILE XROUTINE "
 
76
             "XTBARICON XTIMER XONKEY")
 
77
 
 
78
ATTRIBUTES = (2, "ATTR BACKGROUND BUDDY BUFFERS COLORS COLSAVE DATA DBGSTEP DBGVARS "
 
79
                 "DEBUG DEEPTRANS EDITOR ENDGUI ESCAPE FAIL FILTER FONT FRAME "
 
80
                 "GRID HELP ICON ID IXICON KEY LIKE LOCAL LVCOLUMN MAXDATE "
 
81
                 "MAXSIZE MAXTRANS MCINOTIFY MCISIGNAL MENU MINDATE MINSIZE "
 
82
                 "NEXT OUTPUT PAGE PARENT PATH PREFS RBSTYLE RESIZE SAY SHAPE "
 
83
                 "SHOW STARTGUI STYLE TAB TITLE TRANSLATE VARIABLES")
 
84
 
 
85
CONTROL = (3, "AND ANDIFEXISTS BREAK CALL CASE DOCASE ELSE ELSEIF ELSEIFEXISTS "
 
86
              "ENDCASE ENDFOR ENDIF ENDWHILE FOR GO GOSUB GOTO IF IFEXISTS "
 
87
              "LABEL OR ORIFEXISTS QUIT RETURN STOP WHILE")
 
88
 
 
89
COMMANDS = (4, "ADD ADDRESS ADDUNIQUE APPEND APPVAR ASSIGN AUTO BRANCH BROWSER "
 
90
               "CD CLOSE COMBO COMMAND COPY CREATE CREATELINK CUT CUTVAR DBSUM "
 
91
               "DCKDEBUG DDEXEC DDPUT DDUSE DEC DEL DELAY DELETE DELVAR EDBOX "
 
92
               "EMPTYBIN ENUM EXIT EXTRACT FLASH FREEFONT FREEICON GETCLIP "
 
93
               "GETCOLOR GETFONT GOSUB GUI GUICLOSE GUILOAD GUIOPEN GUIQUIT "
 
94
               "GUIRENAME GUIWINDOW HTMLHELP IMAGE INC JOINFILE LAUNCH "
 
95
               "LISTVIEW LOADFONT LOADICON LV LVACTION LVCLIP LVREP LVSEARCH "
 
96
               "LVSWITCH MAKEDIR MCI MOVE MSGBOX NEWFILE PARSEVAR POPMENU "
 
97
               "QUICKMENU QUIT RANDOM REGCREATE REGDELETE REGGET REGSET RENAME "
 
98
               "REPVAR REQFILE RUN SAY SEARCHVAR SEND SET SETATTR SETCLIP "
 
99
               "SETEVENT SETGADVALUES SETICON SETPOINTER SETVAR SETWINATTR "
 
100
               "SETWINTITLE SHELL STATUS SYSTEM TERMINATEPROC TEXTFILE "
 
101
               "TREEVIEW TV UPDATE UPDOWN USE WAIT WINATTR WINDOW")
 
102
 
 
103
#---- End Keyword Definitions ----#
 
104
 
 
105
#---- Syntax Style Specs ----#
 
106
SYNTAX_ITEMS = [(stc.STC_GC_ATTRIBUTE, 'keyword3_style'),
 
107
                (stc.STC_GC_COMMAND, 'keyword2_style'),
 
108
                (stc.STC_GC_COMMENTBLOCK, 'comment_style'),
 
109
                (stc.STC_GC_COMMENTLINE, 'comment_style'),
 
110
                (stc.STC_GC_CONTROL, 'keyword_style'),
 
111
                (stc.STC_GC_DEFAULT, 'default_style'),
 
112
                (stc.STC_GC_EVENT, 'keyword4_style'),
 
113
                (stc.STC_GC_GLOBAL, 'global_style'),
 
114
                (stc.STC_GC_OPERATOR, 'operator_style'),
 
115
                (stc.STC_GC_STRING, 'string_style')]
 
116
 
 
117
#---- Extra Properties ----#
 
118
FOLD = ("fold", "1")
 
119
FOLD_COMP = ("fold.compact", "1")
 
120
 
 
121
#-----------------------------------------------------------------------------#
 
122
 
 
123
class SyntaxData(syndata.SyntaxDataBase):
 
124
    """SyntaxData object for Gui4Cli""" 
 
125
    def __init__(self, langid):
 
126
        super(SyntaxData, self).__init__(langid)
 
127
 
 
128
        # Setup
 
129
        self.SetLexer(stc.STC_LEX_GUI4CLI)
 
130
 
 
131
    def GetKeywords(self):
 
132
        """Returns Specified Keywords List """
 
133
        return [GLOBALS, EVENTS, ATTRIBUTES, CONTROL, COMMANDS]
 
134
 
 
135
    def GetSyntaxSpec(self):
 
136
        """Syntax Specifications """
 
137
        return SYNTAX_ITEMS
 
138
 
 
139
    def GetProperties(self):
 
140
        """Returns a list of Extra Properties to set
 
141
        @note: gui4cli supports folding but it seems to be partially broken
 
142
 
 
143
        """
 
144
        return list() #[FOLD, FOLD_COMP]
 
145
 
 
146
    def GetCommentPattern(self):
 
147
        """Returns a list of characters used to comment a block of code """
 
148
        return [u'//']