Difference between revisions of "SQL Syntax Highlighting"
Line 140: | Line 140: | ||
|} | |} | ||
− | |||
− | |||
− | |||
==Future work== | ==Future work== |
Revision as of 09:53, 17 September 2008
Introduction
The SQL view of the query designer, which displays, and allows to edit, raw SQL statements, currently is a mere text input field. It would be helpful especially to the unexperienced user to support the users by various means and make it more convinient.
The cws for ongoing implementation will be CWS sqlsyntaxhighlighting
Detailed Information
Feature Description
Three new features will be implemented:
- Syntax highlighting will be added: SQL keywords, literals and the like will be notable Issue 67961
- configurable colors in Tools - Options - General-Appearance
- The SQL view will respect the settings from Tools -> Options -> OpenOffice.org -> Fonts, where you can set a font name as well as a font size Issue 91687
- To support users writing complex queries including bracket terms, matching characters will be shortly highlighted when pressing },)," or '
Technical details
Instead of duplicating neccessary code for EditView/EditEngine/TextWindow again, a new control MultiLineEditSyntaxHighlight will be created, which will be derived from a MultiLineEdit, which actually already does all the EditView/EditEngine stuff already as a nice usable control. So this new control will be the same as a MultiLineEdit, but will be able to do the new stuff as well. As the current Base SQL view is using a MultiLineEdit already, it will be extremly easy to use the new control.
SQL strings
"all", "and", "any", "as", "asc", "avg", "between", "by", "cast", "corresponding", "count", "create", "cross", "delete", "desc", "distinct", "drop", "escape", "except", "exists", "false", "from", "full", "global", "group", "having", "in", "inner", "insert", "intersect", "into", "is", "join", "left", "like", "local", "match", "max", "min", "natural", "not", "null", "on", "or", "order", "outer", "right", "select", "set", "some", "sum", "table", "temporary", "true", "union", "unique", "unknown", "update", "using", "values", "where"
String additions and changes
resource | Old String | New String |
---|---|---|
fontsubs.src FL_SOURCEVIEW | "Font settings for HTML and Basic sources" ; | "Font settings for HTML, Basic and SQL sources" ; |
Roadmap
- it is currently planned to have this feature ready for OOoRelease31
People involved
Name | OOo Nickname | Role |
---|---|---|
Max Odendahl | mod | developer |
Future work
end user
To further improve the usability, it would be nice to have the possibility to
- insert various SQL and user code snippets
- code completion including SQL keywords, table and field names
- FS:
How much effort would it be to allow an additional separate "class" (aka color) whose elements can be configured at runtime?
That is, at the moment both functions and SQL keywords use the same color, though they are different. The list of supported functions depends on the underlying database, and could be fed by the query designer into the SQL editor.
code base
If the BASIC IDE as well as HTML source view only need regular MultiLineEdit functionality, the new code could be used for these two cases as well. This would get rid of a lot of code and would make it more maintainable.