Class: Rouge::Lexers::Brightscript
- Inherits:
-
RegexLexer
- Object
- Rouge::Lexer
- RegexLexer
- Rouge::Lexers::Brightscript
- Defined in:
- lib/rouge/lexers/brightscript.rb
Constant Summary
Constants inherited from RegexLexer
Constants included from Token::Tokens
Token::Tokens::Num, Token::Tokens::Str
Instance Attribute Summary
Attributes inherited from Rouge::Lexer
Class Method Summary collapse
-
.builtins ⇒ Object
Scene graph components configured as builtins.
- .keyword_reserved ⇒ Object
-
.keyword_reserved_unsupported ⇒ Object
These keywords are present in BrightScript, but not supported in standard .brs files.
- .keyword_type ⇒ Object
- .name_builtin ⇒ Object
- .operator_word ⇒ Object
Methods inherited from RegexLexer
append, #delegate, #goto, #group, #groups, #in_state?, #pop!, prepend, #push, #recurse, replace_state, #reset!, #reset_stack, #stack, start, start_procs, state, #state, #state?, state_definitions, states, #step, #stream_tokens, #token
Methods inherited from Rouge::Lexer
aliases, all, #as_bool, #as_lexer, #as_list, #as_string, #as_token, #bool_option, continue_lex, #continue_lex, debug_enabled?, demo, demo_file, desc, detect?, detectable?, disable_debug!, enable_debug!, filenames, find, find_fancy, guess, guess_by_filename, guess_by_mimetype, guess_by_source, guesses, #hash_option, #initialize, lex, #lex, #lexer_option, #list_option, lookup_fancy, mimetypes, option, option_docs, #reset!, #stream_tokens, #string_option, tag, #tag, title, #token_option, #with
Methods included from Token::Tokens
Constructor Details
This class inherits a constructor from Rouge::Lexer
Class Method Details
.builtins ⇒ Object
Scene graph components configured as builtins. See BrightScript component documentation e.g. https://developer.roku.com/en-ca/docs/references/brightscript/components/roappinfo.md
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
# File 'lib/rouge/lexers/brightscript.rb', line 63 def self.builtins @builtins ||= Set.new %w( roAppendFile roAppInfo roAppManager roArray roAssociativeArray roAudioGuide roAudioMetadata roAudioPlayer roAudioPlayerEvent roAudioResourceroBitmap roBoolean roBoolean roBrightPackage roBrSub roButton roByteArray roCaptionRenderer roCaptionRendererEvent roCecInterface roCECStatusEvent roChannelStore roChannelStoreEvent roClockWidget roCodeRegistrationScreen roCodeRegistrationScreenEventroCompositor roControlDown roControlPort roControlPort roControlUp roCreateFile roDatagramReceiver roDatagramSender roDataGramSocket roDateTime roDeviceInfo roDeviceInfoEvent roDoubleroEVPCipher roEVPDigest roFileSystem roFileSystemEvent roFloat roFont roFontMetrics roFontRegistry roFunction roGlobal roGpio roGridScreen roGridScreenEvent roHdmiHotPlugEventroHdmiStatus roHdmiStatusEvent roHMAC roHttpAgent roImageCanvas roImageCanvasEvent roImageMetadata roImagePlayer roImageWidgetroInput roInputEvent roInt roInt roInvalid roInvalid roIRRemote roKeyboard roKeyboardPress roKeyboardScreen roKeyboardScreenEventroList roListScreen roListScreenEvent roLocalization roLongInteger roMessageDialog roMessageDialogEvent roMessagePort roMicrophone roMicrophoneEvent roNetworkConfiguration roOneLineDialog roOneLineDialogEventroParagraphScreen roParagraphScreenEvent roPath roPinEntryDialog roPinEntryDialogEvent roPinentryScreen roPosterScreen roPosterScreenEventroProgramGuide roQuadravoxButton roReadFile roRectangleroRegexroRegion roRegistry roRegistrySection roResourceManager roRSA roRssArticle roRssParser roScreen roSearchHistory roSearchScreen roSearchScreenEvent roSerialPort roSGNode roSGNodeEvent roSGScreenroSGScreenEvent roSlideShowroSlideShowEvent roSNS5 roSocketAddress roSocketEvent roSpringboardScreen roSpringboardScreenEventroSprite roStorageInfo roStreamSocket roStringroSystemLogroSystemLogEvent roSystemTime roTextFieldroTextScreen roTextScreenEvent roTextToSpeech roTextToSpeechEvent roTextureManager roTextureRequest roTextureRequestEventroTextWidget roTimer roTimespan roTouchScreen roTunerroTunerEvent roUniversalControlEvent roUrlEvent roUrlTransfer roVideoEvent roVideoInput roVideoMode roVideoPlayer roVideoPlayerEvent roVideoScreen roVideoScreenEventroWriteFile roXMLElement roXMLList ) end |
.keyword_reserved ⇒ Object
29 30 31 32 33 34 35 36 37 |
# File 'lib/rouge/lexers/brightscript.rb', line 29 def self.keyword_reserved @keyword_reserved ||= Set.new %w( BOX CREATEOBJECT DIM EACH ELSE ELSEIF END ENDFUNCTION ENDIF ENDSUB ENDWHILE EVAL EXIT EXITWHILE FALSE FOR FUNCTION GETGLOBALAA GETLASTRUNCOMPILEERROR GETLASTRUNRUNTIMEERROR GOTO IF IN INVALID LET LINE_NUM M NEXT OBJFUN POS PRINT REM RETURN RUN STEP STOP SUB TAB TO TRUE TYPE WHILE ) end |
.keyword_reserved_unsupported ⇒ Object
These keywords are present in BrightScript, but not supported in standard .brs files
40 41 42 43 44 |
# File 'lib/rouge/lexers/brightscript.rb', line 40 def self.keyword_reserved_unsupported @keyword_reserved_unsupported ||= Set.new %w( CLASS CONST IMPORT LIBRARY NAMESPACE PRIVATE PROTECTED PUBLIC ) end |
.keyword_type ⇒ Object
47 48 49 50 51 52 |
# File 'lib/rouge/lexers/brightscript.rb', line 47 def self.keyword_type @keyword_type ||= Set.new %w( BOOLEAN DIM DOUBLE DYNAMIC FLOAT FUNCTION INTEGER INTERFACE INVALID LONGINTEGER OBJECT STRING VOID ) end |
.name_builtin ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/rouge/lexers/brightscript.rb', line 16 def self.name_builtin @name_builtin ||= Set.new %w( ABS ASC ATN CDBL CHR CINT CONTROL COPYFILE COS CREATEDIRECTORY CSNG DELETEDIRECTORY DELETEFILE EXP FINDMEMBERFUNCTION FINDNODE FIX FORMATDRIVEFORMATJSON GETINTERFACE INSTR INT LCASE LEFT LEN LISTDIR LOG MATCHFILES MID MOVEFILE OBSERVEFIELD PARSEJSON PARSEXML READASCIIFILE REBOOTSYSTEM RIGHT RND RUNGARBAGECOLLECTOR SGN SIN SLEEP SQR STR STRI STRING STRINGI STRTOI SUBSTITUTE TANTEXTTOP TEXT TRUCASE UPTIME VALVISIBLE VISIBLE WAIT ) end |
.operator_word ⇒ Object
55 56 57 58 59 |
# File 'lib/rouge/lexers/brightscript.rb', line 55 def self.operator_word @operator_word ||= Set.new %w( AND AS MOD NOT OR THEN ) end |