PrEditor and the future (the To-Do list)
This is a rough guide as to what is planned for PrEditor in the future. If you would like to make suggestions for new features, then feel free to email us.
Testing
- Incremental searching
- Add a incremental searching function. This could be implemented by
using the search combo box. Incremental searching attempts to find
a match after each character is pressed.
- Export/Import configuration function.
- Although pretty easy to use, configuration can be a real pain to
say, set up on another computer. We plan to provide an option to
put all the configuration items into a single file (or directory)
so that it is easy to copy to another computer.
Under development
- Embedded-language support
- With some languages files can have more than one language syntax
contained in it. For example HTML can have JavaScript embedded in
it. PrEditor should be taught how to recognise when the language
syntax changes and colour appropriately.
- Visible cursor line
- Yet another idea to make it easier to spot the cursor - highlight
the cursor line in some way. Suggestions are
- a dotted line around it.
- different background colour (probably the easiest).
- Project / File templates
- Introduce a template scheme for files and projects. Templates for
files would be kept in the template
directory under the PrEditor install directory.
Near future
- Column mode selection
- Column mode selection should be switched on with a toggle switch, or
temporarily by holding the Alt key down whilst selecting with the
mouse. Not very often used, but extremely useful occasionally.
- Fetch web page (HTTP Get)
- Similar to FTP GET however, would be called Fetch Web Page.
- Send email function (use MAPI)
- Use MAPI to send the current document as email.
- Auto-completion
- Static and dynamic auto-completion. Static refers to completion
of keywords (defined in the .syntax file for the language), and
dynamic, which completes 'tags' (see the tags section above).
- RepeatNumber command.
- Provide a simple dialog entry for a repeat-count. The next
command would be repeated this number of times.
- MoveBack - returns to last position
- Have PrEditor remember the last N cursor positions and provide
commands to move back (and forward). Similar to undo / redo but for
cursor commands.
- Enable # vi:ts=8 commands (see vi - :help vi for details)
- Provide a method to override the document defaults by using
'in-channel' commands for this. VI does this with vi:ts=8 etc. commands. Copying this
would make PrEditor compatible with VI/VIM.
- Eat first click option.
- Provide an option to 'eat' the first click when activating PrEditor.
- Ruler
- A ruler is a useful visual aid and could be enhanced to provide
formatting columns etc.
- Tooltips
- Tooltips to provide additional information on the text under the
mouse. For example, display ASCII number for unprintable
characters, prototype information (gleaned from tags) for functions.
- 256 colour toolbar buttons.
- BCG provide 256 bit graphics for most toolbar functionality -
upgrade to using this.
- TOTD
- Tip-of-the-day. OK, I know that most people switch this off by
default (and I don't blaim anyone for doing so), but, this can be a
source of many tips that the user may not have thought about.
Provide a link from the TOTD dialog straight into the relevant help
page.
Not so near future
- Keyword help support
- Provide a method of looking up a keyword (under the cursor) in a
third party supplied external help system. The most obvious help
system would be HTMLHelp provided by Windows™.
- SCC integration (w/ support for CSV, RCS, etc).
- There are two basic methods to implement this - use the SCC DLL
method (which will only allow support for those SCC systems that
support the SCC DLL), or use the command line method (which will
support more, but not in a consistent manner).
This will provide check-in, check-out capability right from PrEditor.
- Beautify
- Provide a code beautifier. There are some useful beautifiers
already available - AStyle for one.
- Hex view
- Allow a file to be viewed in hex, similar to the following...
03d0 31 2e 34 31 2c 20 2d 2c 20 39 2f 32 31 2f 30 33 1.41, -, 9/21/03 03e0 2c 20 31 32 3a 32 34 3a 35 35 2c 20 57 33 53 56 , 12:24:55, W3SV 03f0 43 2c 20 50 55 52 50 4c 45 5f 48 41 5a 45 2c 20 C, PURPLE_HAZE, 0400 31 34 35 2e 31 2e 31 2e 34 31 2c 20 36 34 30 2c 145.1.1.41, 640, 0410 20 35 33 38 2c 20 36 30 30 39 2c 20 32 30 30 2c 538, 6009, 200, 0420 20 30 2c 20 47 45 54 2c 20 2f 49 54 72 61 6b 2f 0, GET, /ITrak/ 0430 49 73 73 75 65 2e 70 68 70 2c 20 6f 70 3d 65 64 Issue.php, op=ed 0440 69 74 26 69 64 3d 31 33 26 50 48 50 53 45 53 53 it&id=13&PHPSESS 0450 49 44 3d 63 37 34 32 35 62 39 36 33 34 34 39 33 ID=c7425b9634493 0460 31 34 31 36 33 65 63 61 66 63 36 65 35 66 39 34 14163ecafc6e5f94 0470 65 66 62 2c 20 d a 31 34 35 2e 31 2e 31 2e 34 efb, ..145.1.1.4 0480 31 2c 20 2d 2c 20 39 2f 32 31 2f 30 33 2c 20 31 1, -, 9/21/03, 1 0490 32 3a 32 36 3a 30 34 2c 20 57 33 53 56 43 2c 20 2:26:04, W3SVC,
- Web view
- Provide a view (using the MFC CHtmlView) to show HTML pages as they
appear in IE.
- Display page breaks (using default printer data).
- We already know where the page breaks will be for the default
printer, so provide an option to
- Revision marks
- Whenever a line is changed, the margin would show a verticle red
line for each line that had been modified.
- Hyperlink support
- Underline hyperlinks and jump to them from PrEditor text.
Hyperlinks are identifiable as starting with http://, file://, etc.
- Docco help (function prototype hints, etc.)
- Use the tags database for the project to show function protype hints, function parameters, member variables/methods, etc.
Far future
- Folding
- The ability to 'fold' text by various means - the most obvious would
be to fold methods, functions, and classes into one line. Other
methods could be to manually fold, or to use indent levels.
- Hex editing
- Once hex display is there, allow users to edit the text in hex mode.
- Huge file support (up to 2GB)
- Files above, say, 1Mb should be considered as 'big', and dealt with
in a way that is optimised for manipulating big files. For example,
read only those bits that are being viewed on the screen into
memory, disable scroll bars and line numbers (or update the count in
the background) allowing the user to edit files straight away,
rather than having to wait until the file loads.
- Compare
- Compare two files, and highlight the differences. Highlight
differences, not only on separate lines, but within a line.
- Merge
- Once compare is done, merging two files would be the next move.
Disclaimer: We have deliberately not made any promises for
delivery dates on the items describe herein, since deadlines mean that things
get rushed to get finished, and we would rather get it right rather than
releasing buggy product. We also do not make any promises to include any or all
of the features describe. This is meant simply as a guide to the current plans
for PrEditor.