PATH:
opt
/
alt
/
ruby34
/
share
/
ruby
/
syntax_suggest
# frozen_string_literal: true module SyntaxSuggest # Value object for accessing lex values # # This lex: # # [1, 0], :on_ident, "describe", CMDARG # # Would translate into: # # lex.line # => 1 # lex.type # => :on_indent # lex.token # => "describe" class LexValue attr_reader :line, :type, :token, :state def initialize(line, type, token, state, last_lex = nil) @line = line @type = type @token = token @state = state set_kw_end(last_lex) end 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 def fname? state.allbits?(Ripper::EXPR_FNAME) end def ignore_newline? type == :on_ignored_nl end def is_end? @is_end end def is_kw? @is_kw end def expr_beg? state.anybits?(Ripper::EXPR_BEG) end def expr_label? state.allbits?(Ripper::EXPR_LABEL) end end end
[-] lex_value.rb
[edit]
[-] ripper_errors.rb
[edit]
[-] scan_history.rb
[edit]
[-] priority_engulf_queue.rb
[edit]
[-] display_code_with_line_numbers.rb
[edit]
[-] priority_queue.rb
[edit]
[-] version.rb
[edit]
[-] display_invalid_blocks.rb
[edit]
[-] code_line.rb
[edit]
[-] parse_blocks_from_indent_line.rb
[edit]
[-] api.rb
[edit]
[-] clean_document.rb
[edit]
[-] lex_all.rb
[edit]
[-] mini_stringio.rb
[edit]
[-] unvisited_lines.rb
[edit]
[-] core_ext.rb
[edit]
[+]
..
[-] code_block.rb
[edit]
[-] capture_code_context.rb
[edit]
[+]
capture
[-] code_frontier.rb
[edit]
[-] explain_syntax.rb
[edit]
[-] block_expand.rb
[edit]
[-] left_right_lex_count.rb
[edit]
[-] around_block_scan.rb
[edit]
[-] cli.rb
[edit]
[-] code_search.rb
[edit]
[-] pathname_from_message.rb
[edit]