Project Roadmap

From Bluefish Wiki
Jump to: navigation, search

The project roadmap outlines the future goals and milestones of the bluefish project.

Contents

Stable branch (2.2.*)

2.2.4

Done:

  • fix the tab width for gtk 3.6
  • fix 'document modified' status after a file save followed by undo all
  • fix blocksync for multiline blocks
  • fix in syntax scanning engine, most visible in python files
  • fix a memory leak if a document with a large undo stack as last action was closed
  • fix ctrl-scrollwheel zoom on gtk 3.6 with smooth scrolling enabled
  • fix language syntax detection for new unsaved files
  • fix various bugs in "toggle comment" function
  • improve auto-completion popup drawing performance
  • improve character encoding detection
  • support paste special from other apps, for example paste a table from libreoffice, or an image from the gimp
  • very long line detection
  • if a tab is closed, switch to the previous opened tab instead of the last one in the list
  • make a click in the margin select a single line, drag will still select multiple lines
  • if an image is inserted from the sidebar (by doubleclick) into an untitled document, insert just the filename, and not a local URL
  • add 'keep aspect ratio' option to image dialog
  • several minor fixes to the split view mode
  • support control-tab to switch to the most recently used documents
  • strip trailing spaces on save (optional)
  • make visible whitespace a session option
  • improve simple search with some more options and search history
  • improve smart indenting feature
  • add feature save as copy
  • fix language setting for chinese on windows
  • bump minimum gtk version to 2.20:
    • Debian stable has gtk 2.20
    • Ubuntu 10.04 LTS (Lucid) has 2.20
    • OSX package has ...
    • Windows packages uses 2.24
  • english translation, so mac users with english first and another secondary language will not end up with the secondary language
  • pylint, cssmin, jsmin, csstidy and php_beautifier integration
  • html autocompletion improvements

2.2.5

Done:

  • mark opened documents in the filebrowser bold
  • add option for maximum filename length in document tab
  • create feature to jump to other end of the block
  • make snippet accelerators also work if the sidebar is hidden
  • make spell checking work even if you disable syntax highlighting
  • fix the html dialog spin buttons that inserted nothing if the value was 0
  • fix delayed autocompletion popup
  • add option to specify the minimum number of characters required before the auto-completion popup is shown
  • improve 'move selection' feature
  • add option to make html tag attributes show up as blocks
  • show newlines and carriage returns in the 'visible spacing' feature
  • autosave session-2.0 file and project files once in a while, linked to the autosave code to avoid spinning up the disk on laptops
  • improve the undo/redo code performance by embedding the list in the data structures - implemented but needs more testing
  • improve undo after autosave-recovery
  • improve auto completion, if a tag is closed already, do not offer the autocompletion popup to close it.

In progress

  • make strings as block configurable (so select block will work within strings) - working example in C bflang2 file, and in html tag attributes
  • make $variable or function name autocompletion in for example php and python configurable - working example in php language file
  • make language syntax detection for user defined custom extensions possible, so you can configure your own extensions for a language file
  • add number of open documents to the statusbar somewhere
  • improve function find_region_to_scan() in bftextview2_scanner.c such that multiple small areas to scan next to each other are scanned as a continuous region - implemented but some more tuning is needed
  • improve updating the balanced tree by keeping a history of changes and apply them in one run in the idle callback (should improve speed if there are many changes on the buffer) - implemented but needs more testing
  • fix autocompletion if a minimum length > 1 was set in the preferences. If you type for example in C "tmp;" it will still popup an autocompletion popup after you entered the ;
  • use a list instead of a gtktexttag to keep track of locations that need spell checking
  • improve autocompletion when a closing character like ; is already present, see https://bugzilla.gnome.org/show_bug.cgi?id=697664

To be done (or postponed):

  • add delete empty lines feature
  • fix PID detection for auto recovery on windows
  • make 'file contains long lines' dialog pop up once, even if 500 files have long lines, and make it possible to disable this dialog (in progress: dialog can be disabled in the preferences)
  • indenting a folded block indents just the visible part
  • update zencoding to emmet
  • add @page CSS at-rule to css syntax
  • make the spell check color/style configurable
  • improve/fix toggle comment when multiple comments are adjacent to each other, or when a selection does not align with the comment
  • "bluefish -v" still does not print out specific version (e.g. rev7801), it prints out just the main version (2.2.4-rc1), possibly the titlebar should also show the svn revision number
  • add vertical split to work on two documents side by side
  • fix lorem_ipsum integration if no python is available
  • make attributes in the language file a seperate tag so it becomes more flexible
  • a feature to open all included files ..?
  • color scheme dialog that detects all colors in a file and shows them in a single dialog
  • a language feature such that a language file may indicate something is a filename or a color. Then we can have a generic feature that allows the user to open all referred files, open a specific file, edit a color, etc.
  • better python editing support, and python-gtk
  • gdb debug plugin?
  • php xdebug plugin?
  • jsbeautify integration
  • svn, cvs and/or git integration, see http://linuxdevcenter.com/pub/a/linux/2003/04/24/libsvn1.html?page=2 for svn help
  • store current line number for each file in the project file
  • relax-ng / dtd / xmlschema convert to bluefish language file
  • more/better latex support
  • an internal improvement: a multithreaded way to process buffers when loading and saving data. right now only the I/O is multi-threaded, but processing (encoding, long-line-detection, etc.) is done in the main thread. Remove trailing whitespace would also run in the main thread.

beyond 2.2.next

  • make multiple-location edits possible, like for example sublime (www.sublimetext.com) has (e.g. insert a character in multiple locations)
  • make the default snippets translatable
  • make the language-syntax option descriptions translatable
  • make the language-syntax file format more flexible so various possibilities can be made option such that you don't have to edit the language files

New ideas beyond the stable branch

  • clipboard history
  • undo redo browser
  • storing undo/redo information in the project file
Personal tools