summaryrefslogtreecommitdiff
path: root/lib/irb
AgeCommit message (Collapse)Author
2019-06-25Refactor calculation of corresponding token depthaycabta
2019-06-22Treat closing token with starting token at head of 2nd line correctlyaycabta
v = if true # starting token at head of 2nd line 3 end # closing token
2019-06-22Do auto indent only when closing token at first of lineaycabta
if true 3; end # this isn't auto-indented
2019-06-21Support irregular auto indentaycabta
v = if true 3 end # this "end" is auto-indented correctly
2019-06-19Use IRB.conf[:AUTO_INDENT] setting in multiline modeaycabta
2019-06-18Fix auto indent crash when blank inputaycabta
2019-06-18Implement auto indent for multilineaycabta
2019-06-16Implement line_no correctlyaycabta
2019-06-14Use Reline.prompt_proc in IRBaycabta
2019-06-13make sync-default-gems GEM=irbTakashi Kokubun
Upgrade IRB to https://github.com/ruby/irb/commit/41ea43a4a732e094acfa1b0fc1473fdcda9e6227 Mostly backport changes.
2019-06-12Ripper::Lexer: fallback parse error token to the previous oneNobuyoshi Nakada
2019-06-12Treat "begin rescue end" correctlyaycabta
2019-06-10irb/cmd/help.rb: return nil after the redefinitionNobuyoshi Nakada
2019-06-10irb: defer requiring rdoc to improve the start up timeNobuyoshi Nakada
2019-06-04Reflect behavior changes to argument nameTakashi Kokubun
0c459af7c233adb5f44022350bfe8fa132d8053e changed the meaning of `detect_compile_error`, and this commit lets it follow the change.
2019-06-04colorize_code must return escaped textTakashi Kokubun
This was needed before 0c459af7c233adb5f44022350bfe8fa132d8053e but it could be actually useless now. But I added this anyway just in case.
2019-06-04Colorize error charactersNobuyoshi Nakada
* lib/irb/color.rb (IRB::Color.scan): ignore "incomplete end of input" error only, to colorize invalid characters, e.g., control characters, and invalid symbols, as errors.
2019-05-31Bump irb version to 1.1.0.pre.1.Hiroshi SHIBATA
Becausee the current irb support reline and have many of changes.
2019-05-31Fix typo :bug: [ci skip]Takashi Kokubun
2019-05-31Warn compile_error only when input is finishedTakashi Kokubun
Let's say we are in progress to write `"foo"`: ``` irb> "fo ``` at this moment, nothing is wrong. It would be just a normal way to write `"foo"`. Prior to this commit, the `fo` part was warned because of 5b64d7ac6e7cbf759b859428f125539e58bac0bd. But I think warning such a normal input is not valuable for users. However, we'd like to warn `:@1` or `@@1` which is also a syntax error. Then this commit switches the syntax highlight based on whether the input text is finished or not. When it's not finished yet, it does not warn compile_error.
2019-05-31Abstract away Ripper::Lexer#scan in IRB::Color#scanTakashi Kokubun
because 5b64d7ac6e7cbf759b859428f125539e58bac0bd made it hard to understand #colorize_code for me and this change is needed for my next commit.
2019-05-30Do not rely on IRB.conf[:MAIN_CONTEXT] before initializeTakashi Kokubun
so that we can colorize binding.irb source lines.
2019-05-30Check the end token of heredoc correctlyaycabta
2019-05-29Colorize errors moreNobuyoshi Nakada
* lib/irb/color.rb (IRB::Color.colorize_code): colorize `compile_error` part as same as `on_parse_error`.
2019-05-29Get rid of nested string interpolationsNobuyoshi Nakada
* lib/irb/color.rb (IRB::Color.colorize): get rid of nesting string interpolations not to confuse ruby-mode.el
2019-05-29ripper: Ripper::Lexer#scanNobuyoshi Nakada
* ext/ripper/lib/ripper/lexer.rb (Ripper::Lexer#scan): parses the code and returns the result elements including errors. [EXPERIMENTAL]
2019-05-29Colorize compile_error as same as on_parse_errorNobuyoshi Nakada
2019-05-29parse.y: flush invalid charNobuyoshi Nakada
2019-05-29Revert "Colorize error part more"Koichi Sasada
This reverts commit c7f3c222c9b82736c993419daa6bfb643e5c0793.
2019-05-29Colorize error part moreNobuyoshi Nakada
Colorize `compile_error` parts as well as `on_parse_error` parts.
2019-05-29Use IO.copy_streamaycabta
2019-05-29Check RUBY_YES_I_AM_NOT_A_NORMAL_USER env to access RubyVM docaycabta
2019-05-29IRB never show RubyVM's docaycabta
2019-05-29Encode completed strings corecctlyaycabta
2019-05-28Remove unused variable from IRB::InputCompletoraycabta
2019-05-28Treat :@1, :@@1, @1, and @@1 correctly to check terminationaycabta
2019-05-28Supress duplicated warningKazuki Tsujimoto
2019-05-27Colorize error partNobuyoshi Nakada
2019-05-27context.rb: hide wrapping linesNobuyoshi Nakada
* lib/irb/context.rb (IRB::Context#evaluate): separate the code from wrapping lines to propagate the given exception, not to show the wrapping lines when SyntaxError.
2019-05-27Use IRB::InputMethod#eof? to quitaycabta
2019-05-27Add support for history with Reline backendSutou Kouhei
2019-05-26Highlight global variable on IRBTakashi Kokubun
2019-05-26Simplify lexer state matching in #dispatch_seqTakashi Kokubun
for improving readability of the condition. It may be slightly faster, or may not.
2019-05-26Refactor IRB color dispatchTakashi Kokubun
The reason why we were checking lexer state in addition to token was that we do not want to colorize local variable, method call, etc., while they share the :on_ident token with a name of method definition which should be colored as blue. It means that we're concerned about the lexer state only for :on_ident. Thus we can skip checking lexer state for non-:on_ident tokens. This refactoring is based on that idea. Also, now we manage Ripper's lexer state as Integer (use `|` if you need to check multiple states). It should be faster than using Array of Integer because #any? block call is not needed.
2019-05-27Support op, cvar, iver, gvar and kw that follow on symbeg in IRBaycabta
2019-05-27Support :@@cvar and : on colorizeaycabta
2019-05-26Make the imaginary color on IRB close to pryTakashi Kokubun
and sorted the token names alphabetically.
2019-05-27Fix number literal regexp of IRB completionaycabta
2019-05-27Use correctly RI output in IRB completionaycabta
2019-05-26Colorize imaginary and rational literalsNobuyoshi Nakada