Class: SyntaxSuggest::LexValue
Relationships & Source Files | |
Inherits: | Object |
Defined in: | lib/syntax_suggest/lex_value.rb |
Overview
Class Method Summary
Instance Attribute Summary
- #expr_beg? ⇒ Boolean readonly
- #expr_label? ⇒ Boolean readonly
- #fname? ⇒ Boolean readonly
- #ignore_newline? ⇒ Boolean readonly
- #is_end? ⇒ Boolean readonly
- #is_kw? ⇒ Boolean readonly
- #line readonly
- #state readonly
- #token readonly
- #type readonly
Instance Method Summary
- #set_kw_end(last_lex) private
Constructor Details
.new(line, type, token, state, last_lex = nil) ⇒ LexValue
Instance Attribute Details
#expr_beg? ⇒ Boolean
(readonly)
[ GitHub ]
# File 'lib/syntax_suggest/lex_value.rb', line 62
def expr_beg? state.anybits?(Ripper::EXPR_BEG) end
#expr_label? ⇒ Boolean
(readonly)
[ GitHub ]
# File 'lib/syntax_suggest/lex_value.rb', line 66
def expr_label? state.allbits?(Ripper::EXPR_LABEL) end
#fname? ⇒ Boolean
(readonly)
[ GitHub ]
# File 'lib/syntax_suggest/lex_value.rb', line 46
def fname? state.allbits?(Ripper::EXPR_FNAME) end
#ignore_newline? ⇒ Boolean
(readonly)
[ GitHub ]
# File 'lib/syntax_suggest/lex_value.rb', line 50
def ignore_newline? type == :on_ignored_nl end
#is_end? ⇒ Boolean
(readonly)
[ GitHub ]
# File 'lib/syntax_suggest/lex_value.rb', line 54
def is_end? @is_end end
#is_kw? ⇒ Boolean
(readonly)
[ GitHub ]
# File 'lib/syntax_suggest/lex_value.rb', line 58
def is_kw? @is_kw end
#line (readonly)
[ GitHub ]#state (readonly)
[ GitHub ]#token (readonly)
[ GitHub ]#type (readonly)
[ GitHub ]Instance Method Details
#set_kw_end(last_lex) (private)
[ GitHub ]# File 'lib/syntax_suggest/lex_value.rb', line 27
private def set_kw_end(last_lex) @is_end = false @is_kw = false return if type != :on_kw return if last_lex && last_lex.fname? # https://github.com/ruby/ruby/commit/776759e300e4659bb7468e2b97c8c2d4359a2953 case token when "if", "unless", "while", "until" # Only count if/unless when it's not a "trailing" if/unless # https://github.com/ruby/ruby/blob/06b44f819eb7b5ede1ff69cecb25682b56a1d60c/lib/irb/ruby-lex.rb#L374-L375 @is_kw = true unless expr_label? when "def", "case", "for", "begin", "class", "module", "do" @is_kw = true when "end" @is_end = true end end