Added leo/plugins/importers/basescanner.py
Added a corrected version of modes/yaml.py and added entries for yaml in the language tables in leoApp.py.
Fixed a recent crasher involving drag & drop caused by renaming one of the dictionaries in leoImport.py.
Added support for markdown syntax coloring based on https://github.com/peterlynch/jEdit-modes/blob/master/markdown.xml.
Very lightly tested.
The default (base) directory for the pylint -f option is the leo directory.  It used to be the core directory.
Removed duplicate markdown colorizer: using modes/md.py
Added script to check for dubious lead-in characters corresponding to regular expressions.
Changed many lead-in characters in modes/md.py.
Catch all exceptions in ic.dispatch and at.dispatch.
A surprisingly complex set of changes to support dynamic @auto spellings.
This was driven by the need to support writers/test.py & importers/test.py, modeled closely after Terry's original code.
All tests now pass.
g.app.atAutoNames is the set of all spellings of @auto nodes.
g.app.atFileNames is the (more static) set of spellings of all other @<file> nodes.
Importing plugins updates g.app.atAutoNames.
Fixed a crasher in a unit test that isn't used on Windows.
Changed the signature of BaseScanner.__init__ to be compatible with typical subclass ctors.
As a result, subclasses do not need ctors.
All tests pass.
ic.createOutline now calls the importer even if the file is empty.  A dubious choice perhaps, but it removes the confusion about why importers/test.py wasn't being called.
All tests pass.
Added better comments at start of pylint-leo.py.
Removed previously commented out code relating to importers & writers.
Removed no-longer used special tests for @org, @otl, etc, but retained test for @auto-rst as part of the fallback policy that uses code in leoRst.py if no plugins exist for rST files.
Add a fallback "except Exception" in to create *all* exceptions in ic.createOutline.
All tests pass.
Updated project notes & to-do list.
Removed unnecessary ctors from write plugins.
Changed language name in importers/markdown.py to "md" so that the text is syntax colored properly.
Discovered that the markdown importer no longer works.  I'll fix it asap.
importers/markdown.py now passes simple tests.
The pylint commands expands the search if the root node, or any of its ancestors, is a clone.
*Do* call importers in ic.createOutline even if the file is empty.  A message is given only if the tracing switch is on.
Added code to load importer/writer plugins first from  ~/.leo/plugins and from leo/plugins only if they have not already been imported.
The new code uses Python's imp module instead of importlib, so as to describe the full path to the module.
*****But**** apparently docutils can not tolerate unqualified modules imported by imp being called 'rst'.
As a workaround, renamed importers/rst.py and writers/rst.py to be leo_rst.py in the respective directories.
All tests pass, but I can imagine many possible problems.
The only substantial changes to code were made to at.createWritersData, at.parse_writer_dict, ic.createImporterData and ic.parse_importer_dict.
For reference, I have left the old code (commented out) in at.createWritersData & ic.createImporterData