_flagship.py :  » GUI » wxPython » wxPython-src-2.8.11.0 » wxPython » wx » tools » Editra » src » syntax » Python Open Source

Home
Python Open Source
1.3.1.2 Python
2.Ajax
3.Aspect Oriented
4.Blog
5.Build
6.Business Application
7.Chart Report
8.Content Management Systems
9.Cryptographic
10.Database
11.Development
12.Editor
13.Email
14.ERP
15.Game 2D 3D
16.GIS
17.GUI
18.IDE
19.Installer
20.IRC
21.Issue Tracker
22.Language Interface
23.Log
24.Math
25.Media Sound Audio
26.Mobile
27.Network
28.Parser
29.PDF
30.Project Management
31.RSS
32.Search
33.Security
34.Template Engines
35.Test
36.UML
37.USB Serial
38.Web Frameworks
39.Web Server
40.Web Services
41.Web Unit
42.Wiki
43.Windows
44.XML
Python Open Source » GUI » wxPython 
wxPython » wxPython src 2.8.11.0 » wxPython » wx » tools » Editra » src » syntax » _flagship.py
###############################################################################
# Name: flagship.py                                                           #
# Purpose: Define Flagship syntax for highlighting and other features         #
# Author: Cody Precord <cprecord@editra.org>                                  #
# Copyright: (c) 2007 Cody Precord <staff@editra.org>                         #
# License: wxWindows License                                                  #
###############################################################################

"""
FILE: flagship.py
AUTHOR: Cody Precord
@summary: Lexer configuration module for the Flagship programming language and
          other XBase dialects.
@todo: Custom style defs

"""

__author__ = "Cody Precord <cprecord@editra.org>"
__svnid__ = "$Id: _flagship.py 63834 2010-04-03 06:04:33Z CJP $"
__revision__ = "$Revision: 63834 $"

#-----------------------------------------------------------------------------#
# Imports
import wx.stc as stc

# Local Imports
import synglob
import syndata

#-----------------------------------------------------------------------------#

#---- Keyword Definitions ----#
FS_COMMANDS = (0, "? @ accept access all alternate announce ansi any append as "
                  "assign autolock average begin bell bitmap blank box call "
                  "cancel case century charset checkbox clear close cls color "
                  "combobox commit confirm console constant continue copy "
                  "count create cursor date dbread dbwrite decimals declare "
                  "default delete deleted delimiters device dir directory "
                  "display do draw edit else elseif eject end endcase enddo "
                  "endif endtext epoch erase error escape eval eventmask exact "
                  "exclusive extended external extra field file filter find "
                  "fixed font for form format from get gets global "
                  "global_extern go goto gotop guialign guicolor guicursor "
                  "guitransl html htmltext if image index input intensity join "
                  "key keyboard keytransl label lines list listbox local "
                  "locate margin memory memvar menu message method multibyte "
                  "multilocks next nfs nfslock nfs_force note on openerror "
                  "order outmode pack parameters path pixel pop printer "
                  "private prompt public push pushbutton quit radiobutton "
                  "radiogroup read recall refresh reindex relation release "
                  "rename replace report request restore richtext rowadapt "
                  "rowalign run save say scoreboard scrcompress screen seek "
                  "select sequence set setenhanced setstandard setunselected "
                  "skip softseek sort source static store struct structure sum "
                  "tag tbrowse text to total type typeahead unique unlock "
                  "update use wait while with wrap xml zap zerobyteout")

FS_STDLIB = (1, "_displarr _displarrerr _displarrstd _displobj _displobjerr "
                "_displobjstd aadd abs achoice aclone acopy adel adir "
                "aelemtype aeval afields afill ains alert alias alltrim altd "
                "ansi2oem appiomode appmdimode appobject array asc ascan asize "
                "asort at atail atanychar autoxlock between bin2i bin2l bin2w "
                "binand binlshift binor binrshift binxor bof break browse cdow "
                "chr chr2screen cmonth col col2pixel color2rgb colorselect "
                "colvisible consoleopen consolesize crc32 ctod curdir date "
                "datevalid day dbappend dbclearfilter dbclearindex "
                "dbclearrelation dbcloseall dbclosearea dbcommit dbcommitall "
                "dbcreate dbcreateindex dbdelete dbedit dbeval dbf dbfilter "
                "dbfinfo dbflock dbfused dbgetlocate dbgobottom dbgoto dbgotop "
                "dbobject dbrecall dbreindex dbrelation dbrlock dbrlocklist "
                "dbrselect dbrunlock dbseek dbselectarea dbsetdriver "
                "dbsetfilter dbsetindex dbsetlocate dbsetorder dbsetrelation "
                "dbskip dbstruct dbunlock dbunlockall dbusearea default "
                "deleted descend devout devoutpict devpos directory diskspace "
                "dispbegin dispbox dispcount dispend dispout doserror "
                "doserror2str dow drawline dtoc dtos empty eof errorblock "
                "errorlevel eval execname execpidnum exp fattrib fclose fcount "
                "fcreate ferase ferror ferror2str fieldblock fielddeci "
                "fieldget fieldgetarr fieldlen fieldname fieldpos fieldput "
                "fieldputarr fieldtype fieldwblock file findexefile fklabel "
                "fkmax flagship_dir flock flockf fopen found fread freadstdin "
                "freadstr freadtxt frename fs_set fseek fwrite getactive "
                "getalign getapplykey getdosetkey getenv getenvarr getfunction "
                "getpostvalid getprevalid getreader guidrawline hardcr header "
                "hex2num i2bin iif indexcheck indexcount indexdbf indexext "
                "indexkey indexnames indexord infobox inkey inkey2read "
                "inkey2str inkeytrap instdchar instdstring int int2num isalpha "
                "isbegseq iscolor isdbexcl isdbflock isdbmultip isdbmultiple "
                "isdbmultipleopen isdbrlock isdigit isfunction isguimode "
                "islower isobjclass isobjequiv isobjproperty isprinter isupper "
                "l2bin lastkey lastrec left len listbox lock log lower ltrim "
                "lupdate macroeval macrosubst max max_col max_row maxcol "
                "maxrow mcol mdblck mdiclose mdiopen mdiselect memocode "
                "memodecode memoedit memoencode memoline memoread memory "
                "memotran memowrit memvarblock mhide min minmax mlcount "
                "mlctopos mleftdown mlpos mod month mpostolc mpresent "
                "mreststate mrightdown mrow msavestate msetcursor msetpos "
                "mshow mstate neterr netname nextkey num2hex num2int objclone "
                "oem2ansi onkey ordbagext ordbagname ordcond ordcondset "
                "ordcreate orddescend orddestroy ordfor ordisinique ordkey "
                "ordkeyadd ordkeycount ordkeydel ordkeygoto ordkeyno ordkeyval "
                "ordlistadd ordlistclear ordlistrebui ordname ordnumber "
                "ordscope ordsetfocu ordsetrelat ordskipunique os outerr "
                "outstd padc padl padr param parameters pcalls pcol pcount "
                "pixel2col pixel2row printstatus procfile procline procname "
                "procstack proper prow qout qout2 qqout qqout2 rat rddlist "
                "rddname rddsetdefault readexit readinsert readkey readkill "
                "readmodal readsave readupdated readvar reccount recno recsize "
                "replicate restscreen right rlock rlockverify round row "
                "row2pixel rowadapt rowvisible rtrim savescreen scrdos2unix "
                "screen2chr scroll scrunix2dos seconds secondscpu select "
                "serial set setansi setblink setcancel setcol2get setcolor "
                "setcolorba setcursor setevent setguicursor setkey setmode "
                "setpos setprc setvarempty sleep sleepms soundex space sqrt "
                "statbarmsg statusmessage stod str strlen strlen2col "
                "strlen2pix strlen2space strpeek strpoke strtran strzero stuff "
                "substr tbcolumnnew tbmouse tbrowsearr tbrowsedb tbrowsenew "
                "tempfilename time tone transform trim truepath type updated "
                "upper used usersactive usersdbf usersmax val valtype version "
                "webdate weberrorhandler webgetenvir webgetformdata "
                "webhtmlbegin webhtmlend weblogerr webmaildomain weboutdata "
                "websendmail word year")

FS_FUNC = (2, "function procedure return exit")

FS_CLASS = (3, "class instance export hidden protect prototype")
#---- End Keyword Definitions ----#

#---- Syntax Style Specs ----#
SYNTAX_ITEMS = [(stc.STC_FS_ASM, ''),
                (stc.STC_FS_BINNUMBER, 'number_style'),
                (stc.STC_FS_COMMENT, 'comment_style'),
                (stc.STC_FS_COMMENTDOC, 'dockey_style'),
                (stc.STC_FS_COMMENTDOCKEYWORD, 'dockey_style'),
                (stc.STC_FS_COMMENTDOCKEYWORDERROR, 'error_style'),
                (stc.STC_FS_COMMENTLINE, 'comment_style'),
                (stc.STC_FS_COMMENTLINEDOC, 'comment_style'),
                (stc.STC_FS_CONSTANT, 'default_style'),
                (stc.STC_FS_DATE, 'default_style'),
                (stc.STC_FS_DEFAULT, 'default_style'),
                (stc.STC_FS_ERROR, 'error_style'),
                (stc.STC_FS_HEXNUMBER, 'number_style'),
                (stc.STC_FS_IDENTIFIER, 'default_style'),
                (stc.STC_FS_KEYWORD, 'keyword_style'),
                (stc.STC_FS_KEYWORD2, 'keyword2_style'),
                (stc.STC_FS_KEYWORD3, 'keyword3_style'),
                (stc.STC_FS_KEYWORD4, 'keyword4_style'),
                (stc.STC_FS_LABEL, 'default_style'),
                (stc.STC_FS_NUMBER, 'number_style'),
                (stc.STC_FS_OPERATOR, 'operator_style'),
                (stc.STC_FS_PREPROCESSOR, 'pre_style'),
                (stc.STC_FS_STRING, 'string_style'),
                (stc.STC_FS_STRINGEOL, 'stringeol_style')]

#---- Extra Properties ----#
FOLD = ('fold', '1')

#-----------------------------------------------------------------------------#

class SyntaxData(syndata.SyntaxDataBase):
    """SyntaxData object for Flagship""" 
    def __init__(self, langid):
        syndata.SyntaxDataBase.__init__(self, langid)

        # Setup
        self.SetLexer(stc.STC_LEX_FLAGSHIP)

    def GetKeywords(self):
        """Returns Specified Keywords List """
        return [FS_COMMANDS, FS_STDLIB, FS_FUNC, FS_CLASS]

    def GetSyntaxSpec(self):
        """Syntax Specifications """
        return SYNTAX_ITEMS

    def GetProperties(self):
        """Returns a list of Extra Properties to set """
        return [FOLD]

    def GetCommentPattern(self):
        """Returns a list of characters used to comment a block of code """
        return [u'//']
w__w___w___.j___a__v___a2s___.c_o_m | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.