Project Roadmap
From Bluefish Wiki
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