Feature oriented Revision history for Devel-PerlySense


* New command: C-o g r -- Go to Run buffer.

* Fixed Test::Class current method bug when re-running.


* Minor "Test::Class" usability improvements.


* Support for running a single method in Test::Class. Mark a method
  with C-o t m, then run the test class with C-o C-r as usual.


* Adjusted "Find with Ack" to work with Emacs 23 as well.


* Feature request from Joshua McMIchael: make flymake display its
  errors in the minibuffer.

  This is done automatically if the display isn't graphical, or if the
  ps/flymake-prefer-errors-in-minibuffer variable is customized.


* Bug http://rt.cpan.org/Public/Bug/Display.html?id=42577
  - Test::More output "# Looks like you planned 1 test but ran 2."
    singular not recognized. Thanks to Kevin Ryde for noticing!
  - Also relaxed singular/plural for other phrases


* Debugger
  - Fixed a bug with the working directory.
  - Proper docs


* Run in Debugger -- C-o r d
  - !NOTE! Requires you to re-create the .project config file !NOTE!
  - Run current file from the project directory
  - With proper -I include directories


* Fixed problem with shell dialect syntax in directory names for
  prepare-shell-command. Now works on Unixen too.


* New specific Overview commands:
  - C-o o i -- Inheritance
  - C-o o a -- API
  - C-o o b -- Bookmarks
  - C-o o u -- Uses
  - C-o o h -- NeighbourHood

* Beta: Run calls to perly_sense as a prepared shell command, if the
  variable ps/use-prepare-shell-command is non-nil.

  (setq ps/use-prepare-shell-command t) to enable in your config.

  This will shave around 1.8s off each call, which is
  significant. This makes most things _a_lot_ snappier.

* Removed the NeighbourHood from Class Overview. This was making Class
  Overview too slow to be useful, and provided little benefit.

  You can still use C-o o h if you want to see the NeighbourHood.


* Moved screen shots to web pages, linked from POD


*Fixed bug: If displaying method docs with an =item in the POD, it
  will render with a warning.


* Screenshots in the documentation and other docs improvements.


* Find with Ack quotes the search properly.

* Find Sub Declarations and Find Method Calls identify methods when
  point is on the object too.


* Find sub declarations in Project of method or name at point.
  C-o f s.

* Find method calls in Project of method or name at point.
  C-o f c.

* Fixed problem with missing --nogroup ack option on some

* Better Find usability:
  - Sensible default point position in input buffer.

* Numerous minor POD fixes.


* Find using "ack" in Project. C-o f a.

* Rearranged the docs to provide more readable sub headings.


* Fixed bug: missing (require 'pc-select) in elisp.
  Thanks to Sebastian Willert for catching this.


* Removed "Coverage information loaded" message that appears when
  Devel::CoverX::Covered info is loaded. This messed up the echo area
  for other messages.

* Release related bugs fixed. Thanks to Lucien Hantute for spotting
  the reason.


* Moose syntax plugin, supporting the "has", "extends", and "with"
  keywords. See the Devel::PerlySense::Plugin::Syntax::Moose docs.

  Not yet spliced off to its own distro.

* Test fix (accidental // as part of a path seems to break some


* Moose plugin, supporting "extends" and "with". The plugin is still
  in this distro, it will eventually get it's own distribution.


* Another attempt, this time by introducing files in otherwise empty
  directories. Maybe different versions of tar extract files


* Fucking about with this problem: http://www.perlmonks.org/?node_id=714227

  This attempt: http://rt.cpan.org/Public/Bug/Display.html?id=39804


* Failed release


* Git support (Magit) for the Version Control commands.
  See: http://zagadka.vm.bytemark.co.uk/magit/

* Fixed bug: Coverage visualization always instantiates an empty
  "covered" directory, even if there isn't any coverage to begin with.

* Fixed bug: Nothing happens after choosing between > 1 base classes
  in "Go to Base class" (response key named "class-description"
  instead of "class_description").


* Go To Project's Other Files - C-o g p o -- If you have a
  .corresponding_files in the .PerlySenseProject directory, this will
  let you navigate to those other files. See File::Corresponding for
  more info.


* Changed call to collect coverage information to be asynchronous.


* Fixed (potential) bug in covered visualization, when trying to
  fontify a killed buffer.


* Added configuration tips to the Cookbook on how to run Test::Class
  and custom test framework files.

* Go To Tests - Other Files: C-o g t o -- Now sub-aware, i.e. when the
  point is on a line with "sub name", the list is limited to that
  sub. Requires Devel::CoverX::Covered >= 0.011 .


* Fixed various Coverage fontification bugs. This didn't work at all
  well with subs with _ in them.

* New customization -- only indicate bad subroutine coverage


* New feature: Display code coverage in the source using

  First release of this, so may be immature. Feedback wanted.

* Print out log file at beginning of doing process_inc or

* New feature: "perly_sense log_file" prints the log file name. Useful
  for "tail -f `perly_sense log_file`.


* Fixed http://rt.cpan.org/Public/Bug/Display.html?id=35934.

  "memory leak" during "perly_sense process_inc" caused by an
  in-memory cache of Perl documents.

* New feature "perly_sense process_project [--dir=.]".


* All actions in perly_sense now use the serialization format, which
  means all actions can potentially work in Vim.


* BIG CONFIG CHANGE! all Emacs variables are renamed from perly-sense-
  to ps/ . Update the section in your .emacs file that loads


* If more than 30 items in a dropdown, use completing read instead.
  This is customized with the
  perly-sense-dropdown-max-items-to-display variable.


* Go To Tests - Other Files: C-o g t o -- If you have
  Devel::CoverX::Covered installed and have build a cover_db in the
  project root directory, this command will let you choose to go to
  any related test or source files.

  See Devel::CoverX::Covered for details.

  Ironically, this isn't very well unit tested yet...


* Eye-candy release: use dropdown-list.el when choosing between
  multiple classes.

* Note that two configuration colors were added, so revisit the "Emacs
  installation" section in the docs to set that up.


* Vim serialization support


* Edit Test Count: C-o e t c. Increase the test count specified by use
  "Test::More tests => 42;" and the like.

* Assist-with Test Count: C-o a t. Synchronize invalid test count in
  .t file with the *compilation* buffer.


* Go to Version Control now properly supports: svn, none

* Doc Uses: C-o d u -- Display used Module in the echo area.

* Go To Uses: C-o g u -- Go to the 'use Module' section of the current

* Edit Move Use Statement: C-o e m u -- Move 'use Module' statement to
  the end of the 'use Module' section at the top of the file.


* Go To 'new': C-o g n -- Go to the 'new' method of the current class.

* Go to Version Control: C-o g v -- Go to the Project view of the
  current Version Control system.

* Document Inheritance: C-o d i -- display the Inheritance hierarchy
  for the current class.

* Documentation: Key binding conventions


* More clever Goto Base Class:

  - If target source file is already open, don't move point to top of
    file by default

  - If the current location is in a sub
    - display that sub if it exists in any base class
    - go to that sub in the base class if it exists


* C-o g b - Goto Base Class. Basic functionality, but can handle MI,
  letting you choose which class to go to.


* Bundle regex-tool 1.2

  C-o a r - Assist-with Regex


* In Class Overview, display documentation for each method, or the
  method name if no doc is found. This is taken from the POD for each


* Fiddled with failing test, fixed typo.


* Tried fixing test which failed on some platforms.


* Debug diagnostics for the failing test that doesn't appear on


* In Class Overview, don't display private methods in base classes
  outside the current Project. TBD: config setting for this

* Made headings in Class Overview less huge

* Fixed bug with missing face dependency loaded from another Emacs package


* Changed key binding for Class Overview from C-o C-c (focusing on
  Class) to C-o C-o (focusing on Overviwe). This is to bring it in
  line with the convention of having the first keystroke be an
  "action", not an "object".

* "perly_sense info" displays Version

* Removed dependency on "grep-mode" which was only used for the faces.

* Faces are now dealt with properly in the customize-group perly-sense
  (if you use PerlySense in text-only mode, please let me know if it
  looks ok).


* Docs and Goto now works on Methods in the Class Overview.

* Bug: Goto method declaration goes to the POD rather than the sub {}
  if found in base classes.


* Cookbook.pod added

* Class Overview
  - reorder the things displyed to bring the more useful stuff to the top
  - display API methods in columns


* "perly_sense info" provides useful information about what the
  current project directory, user home directory, etc. is.

* Class Overview lists the API, i.e. methods and properties.


* Fixed broken Build.PL which didn't properly install the .el files
  into the lib directory. The Makefile.PL worked earlier though...


* Fist non-developer release!

* New .emacs load procedure, read the docs again.

* Automatic identification of elisp files using "perly_sense

* Configurable Emacs prefix. Default is C-o.


* Fixed failing test.

* Fixed broken initial project config (bad bookmark regexp)


* Fixed another most likely insignificant failing test, added debug
  output for another one. Bring on the CPAN testers! (kudos guys!)


* Fixed annoying failing Win/Unix newline test. Nothing else.


* Fixed bug #30775: "Flymake not showing Perl::Critic warnings" which
  was caused by redirecting warnings into the debug log.

* Bookmark support (recreate the project config and check out the
  "bookmark" entry).


* Fixed: Flymake emits redefined warnings for subs with namespace

* Debug logging in the HOME/.PerlySense/log directory

* Warnings go to the debug log


* Fixed potential breaking flymake elisp.

* If the *compiation* buffer is already visible in any frame, switch
  to that first, so we don't get to see two *compiation* buffers next
  to each other. That just looks silly.

* Perl::Critic using Flymake - first draft


* Run File uses the Project config, and supports syntax checking .pm
  files, running .pl files, etc. as well.

* New config keys added, so run "perly_sense create_project" to
  re-generate a default project.yml which you can then diff against
  the old one (renamed with datestamp).

* Flymake support - highlight syntax errors and warnings in the source
  while editing (continously or at every save).

  Note: new elisp file to install, and some .emacs configuration.


* Docs about projects, etc.

* If Run File is perfomed from within the compile buffer, do a

* C-p r r -- If not even the *compilation* buffer is visible, issue
  Re-Run File from anywhere.

* "perly_sense create_project" renames existing project.yml with


* Stuff happened.

* Time passed.

* Code got written. Bugs were introduced and removed. Ideas were had,
  fleshed out, xdiscarded. Sometimes implemented.

But that was then.