2012-04-25 22:00:47 +00:00
26/4/2012 version 0.9.9.4 major bugfix
* fixed `NoMethodError: undefined method `winsize' for #<IO:<STDOUT>>`, bug #549
* fixes for jruby
* heredoc content no longer auto-indented
2012-04-20 01:09:54 +00:00
19/4/2012 version 0.9.9.3 major doc bugfix
* show-doc would fail on some core classes, i.e `show-doc Bignum`. This is now fixed
and show allow a wider range of core documentation to be viewed directly in Pry.
2012-04-19 00:03:22 +00:00
18/4/2012 version 0.9.9.2 minor bugfix
* make correct_indentation's auto-colorization respect Pry.color
2012-04-18 21:56:45 +00:00
18/4/2012 version 0.9.9.1 very minor release
* cleared up confusion in show-source/show-doc docs that -a switch applies to classes
as well as modules
2012-04-18 09:49:13 +00:00
2012-04-18 21:56:45 +00:00
18/4/2012 version 0.9.9
2012-04-18 09:49:13 +00:00
MAJOR NEW FEATURES
* lines of input are syntax highlighted upon 'enter' keypress
* show-source command can now show class/module sourcecode (use -a to see all monkeypatches). Hard dependency on ruby18_source_location gem in MRI 1.8
* show-doc command can show class/module docs (use -a to see docs for all monkeypatches) Hard dependency on ruby18_source_location gem in MRI 1.8.
* new `find-method` command, performs a recursive search in a namespace for the existence of methods. Can find methods whose names match a regex or methods which contain provided CODE! This command is like a ruby-aware 'grep', very cool (thanks swarley)
* pry-coolline now works properly with Pry (https://github.com/pry/pry-coolline)
* alias_command method now much more powerful, e.g: alias_command "lM", "ls -M"
* `whereami` is now more intelligent, automatically showing entire sourcecode of current method if current context is a method (thanks robgleeson).
2012-04-18 12:28:36 +00:00
* new `raise-up` command. Allows you to raise an exception that will bubble out of pry (ending the session) and escape into enclosing program.
2012-04-18 09:49:13 +00:00
remaining items:
* fixed windows crashing bug when paging
* lines ending with \ are incomplete (kudos to fowl)
* `edit-method -n` no longer blocks (thanks misfo)s
* show instance methods of modules by default in ls
* docs for REPL defined methods can now be displayed using show-doc
* autoload ruby18_source_location on mri18, when available (https://github.com/conradirwin/ruby18_source_location)
* tab completion should work on first line now (historic bug fixed)
* :quiet => true option added to `Pry.start`, turns off whereami
* another easter egg added
* show unloaded constants in yellow for ls
* improved documentation for Pry.config options
* improved auto indentation
* JRuby: heuristics used to clean up 'ls' output (less internal methods polluting output)
2012-03-06 00:12:03 +00:00
6/3/2012 version 0.9.8.4 major bugfix
* ~/.pry_history wasnt being created (if it did not exist)! FIXED
* `hist --save` saved colors! FIXED
* added Pry#add_sticky_local API for adding sticky locals to individual pry instances
2012-03-02 09:27:59 +00:00
2/3/2012 version 0.9.8.3 minor update
* various tweaks to improve rbx support
* commands now support optional block arguments
* much improved help command
2012-03-06 00:12:03 +00:00
* updated method_source dependencya
2012-03-02 09:27:59 +00:00
* added wtf command
* jruby should now work in windows (though without color)
2012-02-09 03:02:58 +00:00
9/2/2012 version 0.9.8.2 bugfix
* fixed bugs related to --super
* upgraded slop dependency
* added edit -c (edit current line)
* edit now respects Pry.config.disable_autoreload option
2012-01-30 01:35:29 +00:00
30/1/2012 version 0.9.8.1 bugfix
* fixed broken --no-plugins option
* Ensure ARGV is not mutated during option parsing.
* Use a more rbx-friendly test for unicodeness
* Use rbx-{18,19}mode as indicated http://about.travis-ci.org/docs/user/languages/ruby/
* Don't explode in gem-list [Fixes #453, #454]
* Check for command-name collision on assignment [Fixes #450]
2012-01-25 11:45:39 +00:00
25/1/2012 version 0.9.8
2012-01-14 19:26:04 +00:00
MAJOR NEW FEATURES
- upgraded command api, https://github.com/pry/pry/wiki/Custom-commands
- added a system of hooks for customizing pry behaviour
- changed syntax checking to use eval() for improved accuracy
2012-01-25 07:29:15 +00:00
- added save-file command
- added gist command (removed gist-method, new gist command is more general)
2012-01-14 19:26:04 +00:00
complete CHANGELOG:
* CommandError's no longer cause the current input to be disgarded
* Better syntax highlighting for rbx code code
* added cat --in to show pry input history
* prefixed temporary file names with 'pry'
2012-01-25 07:29:15 +00:00
* show-doc now supports -l and -b options (line numbers)
* play now supports -i and -d options
* moved UserCommandAPI command-set to pry-developer_tools plugin
* added :when_started event for hooks, called in Pry.start
2012-01-14 19:26:04 +00:00
* added a man page
2012-01-25 07:29:15 +00:00
* added rename method to Pry::CommandSet (commands can be renamed)
2012-01-14 19:26:04 +00:00
* added CommandSet#{before_command,after_command} for enhancing builtin commands
* added checking for namespace collisions with pry commands, set Pry.config.collision_warning
* work around namespace collisions by ensuring lines starting with a space are executed as
* ruby.work around namespace collisions by prensuring lines starting with a space are executed as ruby
* added handlers for Ctrl+C (SIGINT) on jruby, these are now caught as in other ruby versions
* removed dependency on ruby_parser
* prevented colours leaking across the pry prompt
* fixed edge cases in Pry::Method, for methods with crazy names and methods that have been 'undef'd
* refactored history handling code for clarity and correctness
* added Pry::WrappedModule as a counterpart to Pry::Method
* made a trailing , cause pry to wait for further input
* removed gist-method command, added gist command
* added pry-backtrace command to show history of current session
* fixed whereami within 'super' methods
* replaced inline version guards by Pry::Helpers::BaseHelpers.{rbx?,jruby?,windows?} etc.
* removed the CommandProcessor, its functionality is part of the new Command class
* changed cd .. at the top level so it doesn't quit pry.
* changed edit-command to no-longer need a command set argument
* fixed empty lines so that they don't replace _ by nil
* fixed SyntaxErrors at the REPL level so they don't replace _ex_.
2011-11-04 12:27:59 +00:00
5/11/2011 version 0.9.7.4 hotfix
* ls -M now works in modules (bugfix)
* added exception msg for bad cd object/path
* no longer die when encounter exceptions in .pryrc
* baked in CoolLine support
* Pry.config.input in .pryrc now respected
2011-10-28 07:35:56 +00:00
28/10/2011 version 0.9.7.3 hotfix-hotfix ;)
* really fixed indentation for 'super if' and friends
* Fixed indentation for tmux
* added Pry.config.correct_indent option (to toggle whether indentation
* corrected optional param behaviour for method signatures: e.g Signature meth(param1=?, param2=?)
2011-10-27 11:10:12 +00:00
27/10/2011 version 0.9.7.2 hotfix
* fixed indentation for 'super if' and 'ensure', 'next if', etc
* refactored Pry#run_command so it can accept an eval_string parameter (so amend-line and so on can work with it)
* changed ^D so it no longer resets indent level automatically
26/10/2011 version 0.9.7.1 hotfix
* fixed gem dependecy issues
2011-10-26 04:24:43 +00:00
25/10/2011 version 0.9.7
MAJOR NEW FEATURES:
- upgraded ls command to have a more intuitive interface
- added automatic indentation (thanks YorickPeterse!)
- added Pry::Method wrapper class to encapsulate method-related functionality
complete CHANGELOG:
* fixed syntax highlighting for object literals
* fixed ActiveSupport method-naming conflict with "in?"
2011-10-26 13:53:34 +00:00
* added --super option to edit-method, show-method, and friends - making it easier to operate on superclass methods
* officially added edit --in to open previous expressions in an editor
* whereami now works for REPL-defined code
2011-10-26 04:24:43 +00:00
* started using JRuby parser for input validation in JRuby (thanks pangloss!)
* fixed bug where ~/.pryrc could be loaded more than once (thanks kelseyjudson!)
* added parse_options! helper to pull option parsing out of commands
* Pry now respects the terminal's input encoding
* moved some requires out of the startup process for improved speed
2011-09-27 14:48:45 +00:00
* added input_array info to DEFAULT_PROMPT, e.g [1] pry(main)>
* added --no-history option to pry binary (prevent history being LOADED, history will still be saved)
2011-09-27 00:25:17 +00:00
27/9/2011 version 0.9.6.2 HOTFIX release
2011-09-26 23:51:56 +00:00
* downgrading to CodeRay 0.9.8 due to problems with 1.0 and rails (autoloading problem) see #280 on pry and #6 on CodeRay
* also added (as a minor feature) cirwin's implementation of edit --in
* added early break/exit for objectpath errors (the 'cd 34/@hello/bad_path/23')
2011-09-19 05:54:28 +00:00
19/9/2011 version 0.9.6
2011-09-11 06:12:43 +00:00
* restored previous behavior of command-line switches (allowing "-rfilename")
* removed -p option (--play) from edit command
2011-09-11 17:24:39 +00:00
* `edit` with no arguments now edits the current or most recent expression
2011-09-12 01:49:58 +00:00
* `edit` auto-reloads .rb files (need to specify -n to suppress)
2011-09-11 06:12:43 +00:00
* added -p option (--patch) to edit-method command, which allows
monkeypatching methods without touching the original file
* edit-method can now edit REPL-defined methods
* cat --ex now works on exceptions in REPL-defined code
2011-09-11 17:24:39 +00:00
* play -m now uses eval_string.replace()
* play -m --open uses show-input to show play'd code
2011-09-10 19:17:22 +00:00
* added "unindent" helper to make adding help to commands easier
2011-09-13 17:43:37 +00:00
* local ./.pryrc now loaded after ~/.pryrc if it exists
* cat --ex N and edit --ex N now can navigate through backtrace, where cat --ex (with no args) moves throuh successive levels of the backtrace automatically with state stored on the exceptino object itself
2011-09-14 11:35:08 +00:00
* new option Pry.config.exception_window_size determines window size for cat --ex
2011-09-15 15:17:24 +00:00
* input_stack now implemented - pushing objects onto a pry instance's input_stack causes the instance to read from those objects in turn as it encounters EOF on the previous object. On finishing the input_stack the input object for the pry instance is set back to Pry.config.input, if this fails, pry breaks out of the REPL (throw(:breakout)) with an error message
2011-09-19 02:44:55 +00:00
* Pry.config.system() defines how pry runs system commands
* now injecting target_self method into command scope
2011-09-19 05:54:28 +00:00
* play now performs 'show-input' always unless eval_string contains a valid expression (i.e it's about to be eval'd)
* play and hist --replay now push the current input object onto the input_stack before redirecting input to a StringIO (works much better with pry-remote now)
2011-09-11 06:12:43 +00:00
2011-09-08 12:10:27 +00:00
8/9/2011 version 0.9.5
2011-09-08 08:58:50 +00:00
MAJOR NEW FEATURES:
- JRuby support, including show-method/edit-method and editor integration on both 1.8 and 1.9 versions
- extended cd syntax: cd ../@x/y
- play command now works much better with _in_ array (this is a very powerful feature, esp with Pry::NAV_PROMPT)
- history saving/loading is now lightning fast
- 'edit' (entered by itself) now opens current lines in input buffer in an editor, and evals on exit
- 'edit' command is also, in general more intelligent
- ls output no longer in array format, and colors can be configured, e.g: Pry.config.ls.ivar_color = :bright_blue
- new switch-to command for moving around the binding stack without exiting out of sessions
- more sophisticated prompts, Pry::NAV_PROMPT to ease deep spelunking of code
- major bug fix for windows systems
- much better support for huge objects, should no longer hang pry (see #245)
- cat --ex and edit --ex now work better
complete CHANGELOG:
2011-08-15 03:37:14 +00:00
* tempfile should end in .rb (for edit -t)
* ls output should not be in array format
* fix history saving (should not save all of Readline::HISTORY, but only what changed)
* prevent blank lines going to Readline::HISTORY (thanks cirwin!)
* ensure that cat --ex emulates the `whereami` format - includes line numbers and formatted the same, etc
2011-08-17 14:02:12 +00:00
* fixed bug #200 ( https://github.com/pry/pry/issues/200 )- string interpolation bug (thanks to ryanf)
* show-doc and stat now display method visibility (update WIKI)
* got rid of warnings caused by stricter ruby 1.9.3 rules
* remove interpolation of command names and fix interpolation error messag (update WIKI) (thanks ryanf!)
2011-08-22 04:03:21 +00:00
* 'nested sessions' now use binding stacks (so each instance manages its own collection of bindings without spawning other instances)
* 'cd ..' just pops a binding off the binding_stack with special behaviour when only one binding in stack - it breaks out of the repl loop
2011-08-31 17:05:21 +00:00
* added switch-to command (like jump-to but doesnt unwind the stack)
2011-08-29 14:21:51 +00:00
* show-method and show-doc now accept multiple method names
* control_d hook added (Pry.config.control_d_handler)
* behaviour of ^d is now to break out of current expr if in multi-line expr, or break out of current context if nested, or break out of pry repl loop if at top-level
2011-08-30 17:35:41 +00:00
* can no longer interpolate command name itself e.g #{x}-#{y} where x = "show" and y = "doc"
* ^C no longer captured
* got rid of Pry.active_instance, Pry.last_exception and friends.
2011-09-01 03:47:29 +00:00
* also special locals now shared among bindings in a pry instance (i.e _ex_ (and friends) re-injected into new binding entered with 'cd')
2011-09-04 01:30:20 +00:00
* renamed inp and out to _in_ and _out_ (to avoid collisions with actual locals in debugging scope)
2011-09-02 10:25:18 +00:00
* added third parameter to prompts, the pry instance itself (_pry) see https://github.com/pry/pry/issues/233 for why it's important
2011-09-03 10:37:10 +00:00
* cd behaviour when no args performs the same as `cd /`
2011-09-05 04:18:16 +00:00
* commands with keep_retval can now return nil (to suppress output now return 'void' instead)
* Pry::CommandProcessor::Result introduced
* Pry.view_clip() modified to be more robust and properly display Class#name
* edit command when invoked with no args now works like edit -t
* when edit is invoked (with no args or with -t) inside a multi-line expression input buffer, it dumps that buffer into a temp file and takes you to it
* got rid of Pry#null_input? since all that was needed was eval_string.empty?
2011-09-05 16:25:40 +00:00
* cd command now supports complex syntax: cd ../@y/y/../z
2011-09-06 17:20:04 +00:00
* JRuby is no longer a 2nd class citizen, almost full JRuby support, passing 100% tests
2011-09-07 07:56:23 +00:00
* added Pry::NAV_PROMPT (great new navigation prompt, per robgleeson) and Pry::SIMPLE_PRINT for simple (IRB-style) print output (just using inspect)
2011-09-07 15:39:22 +00:00
* _pry_ now passed as 3rd parameter to :before_session hook
* ls colors now configurable via Pry.config.ls.local_var_color = :bright_red etc
2011-09-08 06:30:23 +00:00
* ls separator configurable via, e.g Pry.config.ls.separator = " "
* Pry.view_clip() now only calls inspect on a few immediates, otherwise uses the #<> syntax, which has been truncated further to exclude teh mem address, again related to #245
2011-08-15 03:37:14 +00:00
2011-10-26 04:24:43 +00:00
27/7/2011 version 0.9.3
2011-07-26 17:17:20 +00:00
* cat --ex (cats 5 lines above and below line in file where exception was raised)
* edit --ex (edits line in file where exception was raised)
* edit -t (opens a temporary file and evals it in current context when closed)
2011-07-25 11:24:57 +00:00
* `pry -r` requires now happen after plugin loading (so as not to interfere with
2011-07-26 17:17:20 +00:00
* new Pry.config.disable_auto_reload option, for turning off auto reloading by edit-method and related (thanks ryanf)
2011-07-26 17:09:21 +00:00
* add better error messages for `cd` command
2011-07-25 13:07:28 +00:00
* fixed exotic object regression - BasicObject.new etc now return "=> unknown"
2011-07-26 15:23:11 +00:00
* added reload-method command (reloads the associated file of a method)
* converted: import => import-set, version => pry-version, install => install-command
2011-07-26 17:17:20 +00:00
* Pry.config.command_prefix support (thanks ryanf!)
* fixed indentation for simple-prompt
* hist command now excludes last line of input (the command invocation itself)
* hist now has `history` alias
2011-07-27 11:23:10 +00:00
* missing plugins no longer raise exception, just print a warning to $stderr
* fixed jedit editor support
2011-07-25 11:24:57 +00:00
2011-06-20 15:17:04 +00:00
21/6/2011 version 0.9.2
* fixed string interpolation bug (caused valid ruby code not to execute, sorry!)
* fixed `ls` command, so it can properly display members of Object and classes, and BasicObject, etc
* added a few git related commands to experimental command set, blame and diff
2011-06-16 14:27:05 +00:00
17/6/2011 version 0.9.0
2011-06-15 12:37:10 +00:00
* plugin system
* regex commands
* show-method works on methods defined in REPL
* new command system/API
* rubinius core support
2011-06-17 07:17:32 +00:00
* more backports to ruby 1.8
2011-06-15 12:37:10 +00:00
* inp/out special locals
* _ex_ backtrace navigation object (_ex_.line, _ex_.file)
* readline history saving/loading
* prompt stack
* more hooks
* amend-line
* play
* show-input
2011-06-16 13:42:23 +00:00
* edit
2011-06-15 12:37:10 +00:00
* much more comprehensive test suite
* support for new and old rubygems API
* changed -s behaviour of ls (now excludes Object methods)
2011-06-17 07:17:32 +00:00
* removed eval-file, lls, lcd, and a few other commands
2011-06-15 12:37:10 +00:00
2011-03-26 10:27:18 +00:00
26/3/2011 version 0.7.6.1
* added slightly better support for YARD
* now @param and @return tags are colored green and markdown `code` is syntax highlighted using coderay
2011-03-26 09:08:12 +00:00
26/3/2011 version 0.7.6
* `whereami` command now accepts parameter AROUND, to display AROUND lines on eitherside of invocation line.
* made it so `whereami` is invoked even if no method exists in current context (i.e in rspec tests)
* added rubinius support for `whereami` invocation in HOOKS by checking for __unknown__.rb rather than just <main>
2011-03-15 03:31:40 +00:00
15/3/2011 version 0.7.0
* add pry-doc support with syntax highlighting for docs
* add 'mj' option to ls (restrict to singleton methods)
* add _ex_ local to hold last exception raised in an exception
2011-03-05 14:17:54 +00:00
6/3/2011 version 0.6.8
* add whereami command, a la the `ir_b` gem
* make whereami run at the start of every session
* make .pryrc be loaded by run-time pry sessions
2011-03-03 11:50:04 +00:00
4/3/2011 version 0.6.7
* color support
* --simple-prompt for pry commandline
* -I mode for pry commandline
* --color mode for pry commandline
* clean up requires (put them all in one place)
* simple-prompt command and toggle-color commandd.
2011-06-15 12:37:10 +00:00
2011-02-27 16:06:52 +00:00
28/2/2011 version 0.6.3
* Using MethodSource 0.3.4 so 1.8 show-method support provided
* `Set` class added to list of classes that are inspected
2011-06-15 12:37:10 +00:00
2011-02-25 15:32:54 +00:00
26/2/2011 version 0.6.1
* !@ command alias for exit_all
* `cd /` for breaking out to pry top level (jump-to 0)
* made `-e` option work in a more effective way for `pry` command line invocation
* exit and exit-all commands now accept a parameter, this parameter becomes the return value of repl()
* `command` method from CommandBase now accepts a :keep_retval arg that determines if command value is returned to pry session or just `nil` (`nil` was old behaviour)
* tests for new :keep_retval and exit-all/exit behaviour; :keep_retval will remain undocumented.
22/2/2011 version 0.5.8
2011-02-21 00:46:29 +00:00
* Added -c (context) option to show-doc, show-methods and eval-file
* Fixed up ordering issue of -c and -r parameters to command line pry
2011-06-15 12:37:10 +00:00
2011-02-25 15:32:54 +00:00
21/2/2011 version 0.5.7
2011-02-20 16:54:18 +00:00
* Added pry executable, auto-loads .pryrc in user's home directory, if it
exists.
2011-06-15 12:37:10 +00:00
2011-02-25 15:32:54 +00:00
19/2/2011 version 0.5.5
2011-02-19 05:21:13 +00:00
* Added Pry.run_command
* More useful error messages
* Easter eggs (game and cohen-poem)
2011-02-25 15:32:54 +00:00
17/2/2011 version 0.5.0
2011-02-17 05:36:39 +00:00
* Use clipped version of Pry.view() for large objects
* Exit Pry session on ^d
* Use Shellwords for breaking up parameters to pry commands
* Use OptionParser to parse options for default pry commands
* Add version command
* Refactor 'status' command: add current method info
* Add meth_name_from_binding utility lambda to commands.rb
* Add -M, -m, -v(erbose), -a(ll), -s(uper), -l(ocals), -i(ivars), -k(klass
vars), etc options to ls
* add -M(instance method) options to show-method and show-doc
* add --help option to most commands
* Get rid of ls_method and ls_imethods (subsumed by more powerful ls)
* Get rid of show_idoc and show_imethod
* Add special eval-file command that evals target file in current context
2011-06-15 12:37:10 +00:00
2011-02-25 15:32:54 +00:00
27/1/2011 version 0.4.5
2011-01-27 09:37:43 +00:00
* fixed show_method (though fragile as it references __binding_impl__
directly, making a name change to that method difficult
2011-02-25 15:32:54 +00:00
27/1/2011 version 0.4.4
2011-01-27 02:34:36 +00:00
* oops, added examples/ directory
2011-02-25 15:32:54 +00:00
26/1/2011 version 0.4.3
2011-01-27 02:34:36 +00:00
* added alias_command and desc methods to Pry::CommandBase
* changed behaviour of ls_methods and ls_imethods to return sorted lists
of methods
2011-02-25 15:32:54 +00:00
23/1/2011 version 0.4.1
2011-01-24 00:39:15 +00:00
* made it so a 'def meth;end' in an object Pry session defines singleton
methods, not methods on the class (except in the case of
immediates)
* reorganized documentation, moving customization to a separate wiki file
* storing wiki in a nested git repo, as github wiki pages have their own
repo
* added more tests for new method definition behaviour
2011-02-25 15:32:54 +00:00
21/1/2011 version 0.4.0
2011-01-21 06:09:21 +00:00
* added command API
* added many new commands, i.e ls_methods and friends
* modified other commands
* now accepts greater customization, can modify: input, output, hooks,
prompt, print object
* added tab completion (even completes commands)
* added extensive tests
* added examples
* many more changes
2010-12-09 00:59:30 +00:00
9/12/2010 version 0.1.3
* Got rid of rubygems dependency, refactored some code.
2010-12-08 13:49:28 +00:00
8/12/2010 version 0.1.2
* now rescuing SyntaxError as well as Racc::Parser error in valid_expression?
2010-12-08 07:30:38 +00:00
8/12/2010 version 0.1.0
* release!
2011-06-15 12:37:10 +00:00