aboutsummaryrefslogtreecommitdiffstats
path: root/Source/CMTextView.m
Commit message (Collapse)AuthorAgeFilesLines
* • ESC completionBibiko2010-01-281-15/+9
| | | | - speed up gathering data by avoiding the check for uniqueness if not necessary, make usage of NSMutableSet to collect unique data automatically, and rely on NSSubTextStorage to get all words from the text buffer (if text buffer size less than 6MB)
* • Query Favorite text macroBibiko2010-01-271-19/+24
| | | | | | - fixed bug for deletion nested snippet ranges after editing - further improvement of the graphical representation - selected snippet will be drawn differently
* • improved the graphical representation of text macro snippetsBibiko2010-01-271-6/+19
|
* • query favorite snippet session (text macro)Bibiko2010-01-271-1/+49
| | | | | - draw a bezier path around defined snippets to group them graphically (test phase) - allow the user to go into a snippet by using the mouse
* • query favorite snippet sessionBibiko2010-01-261-1/+3
| | | | - ⇧⇥ on the first snippet won't end the snippet session
* • allow user to define nested snippets inside of the query favoritesBibiko2010-01-261-252/+325
| | | | | | - eg: SELECT ${1:${2:`mysql`.`user`.} AS ${5:a}} FROM ${7:`mysql`.`user`} ${9:WHERE } • improvements of the general control of the a snippet session • code cosmetics
* • further improvements to allow to insert programmable query favorites (as ↵Bibiko2010-01-251-45/+141
| | | | | | | | snippets) - not yet finished but workable eg fav: "SELECT ${1:`mysql`.`user`.} FROM ${2:`mysql`.`user`} ${3:WHERE}" bound to tab trigger "sel"; then write "sel" press ⇥ to expand, change `mysql`.`user`. or press ESC to insert a field, press ⇥ to select `mysql`.`user`to change if desired, etc. or press ⇧⇥ to select prev. snippet • completion can now be invoked via selection - some other tiny improvements
* • added possibility to add a query favorite by user-definable alphanumeric ↵Bibiko2010-01-241-2/+146
| | | | | | | | | tab trigger; eg if tab trigger is set to "sel" sel⇥ will insert the first query which has the defined the tab trigger • preparations to insert programmable query favorites - eg "SELECT ${*} FROM ${Table}" -- after insertion "SELECT * FROM Table" the '*' is highlighted to change, press ⇥ to select the next snippet 'Table'; ⇧⇥ selects the previous snippet; the snippet selection follows the user input - Note: not yet active
* • bound Custom Query gear menu item "Completion List" (CTRL key is ↵Bibiko2010-01-221-13/+11
| | | | | | | recognized) • use regexp to get a list of current words and reduced that method to invoked if the text buffer is less than 60KB to speed up the completion (it's more likely that the user wants to complete a sql related term) • some code cosmetics
* • updated/added syntax highlighting tokens and completion suggestionsBibiko2010-01-211-1/+18
|
* • tiny undo improvement for completionBibiko2010-01-211-0/+1
|
* • added call to update the completion list to neuralgic placesBibiko2010-01-211-1/+9
| | | | - next steps to minimize the traffic - ie manipulating the dict directly without querying - follows
* • completionBibiko2010-01-211-6/+7
| | | | | | | - CTRL+ESC invokes the fuzzy search completion; eg: i_s.pcss. will show all fields from `information_schema`.`PROCESSLIST`. if no other matches are found; the search is a regexp ".*?i.*?_.*?s.*?\. …" etc. by using RegexKitLite which is much more faster than NSPredicate and can handle long regexps - improved type display: if a type definition contains a , split it to avoid splitting of the tokenFields - while insertion of an item and holding down the CTRL key the list keeps open to allow to insert more suggestions separated by ", " from the current list (very useful if one wants to insert only selected fields from a table)
* • completion enhancementsBibiko2010-01-211-10/+43
| | | | | | | - TAB and mouse double-click inserts suggestion - field type info for 'set' and 'enum' is fixed; in addition show an arrow to show the definition - preparations for fuzzy search completion (not yet active) - reduced the font size by 1pt to avoid truncating
* • completionBibiko2010-01-201-5/+18
| | | | | | | | - auto-completes the common prefix of all suggestions - makes typing much more faster - “ ” as allowed character to be typed for narrow-down the list is set automatically if at least one suggestion contains a “ ” - fixed two tiny memory leaks - fixed detecting db/table/field names containing ` as char - removed ⇥ binding to complete the common prefix since it's done automatically
* • improved completion for Query Editor bound to ESCBibiko2010-01-191-133/+168
| | | | | | | | | | | | | | | - up to now for MySQL >4 available - implemented by narrow-down, i.e. write/delete to narrow-down/expand the suggestion list - ↩ inserts the suggestion, if suggestion is db/table/field/proc/func name inserts backtick quoted - for a db/table/field/proc/func name press ⇧↩ to insert à la `db`.`table`.`field` relatively to the current selected db - context-sensitive to leading db. or table. or db.table. or .table if uniquely identifiable - mysql and information_schema if available and not selected appear at the end - `|` | := caret shows the current table's fields if any or the current selected db if selected at the top; suggestions are hierarchically arranged by db, table; easiest way to insert a table/field name - e.g. type `max_c` and press ⇧↩ to insert `mysql`.`user`.`max_connections` - for table/field name suggestions press at the right column to get the path info • F5 invokes completion based on spell checker and selected language - since it is not possible to auto-detect if the user wants to complete MySQL statements or prose text Note: GUI needs improvements; completion should be tested exhaustively
* - removed F5 completion debug outputBibiko2010-01-151-2/+2
| | | | - fixed issue while ‘normal’ completion after “table.” completion
* • refactored parsing code for F5 completionBibiko2010-01-151-157/+95
| | | | | - improved ⇧↩ insertion - improved backtick behaviour
* • fixed several sheetDidEnd selectors to close a NSAlert or NSWindow ↵Bibiko2010-01-131-3/+10
| | | | | | | properly to avoid overlapping sheets • F5 completion - if a table is selected and no further parsing info is given show that table and its fields at the top of the suggestions
* • F5 compeltionBibiko2010-01-131-2/+10
| | | | | - fixed issues if no db is selected - trial: ⇧↩ inserts the entire path db.table or db.table.field; if invoked inside of backticks backticked
* • further improvements for F5 completionBibiko2010-01-131-60/+242
| | | | | | | - first steps for context-sensitive completion: parse left side of current word to look for db.table.field constructions - eg type: mysql.user. and press F5 Note: work in progress :)
* • CMTextView: Bibiko2010-01-121-2/+37
| | | | | - re-defined 34 tab stops for better editing behaviour - soft wrapped lines are slightly indented
* • further developments for the F5 completionBibiko2010-01-111-2/+21
| | | | Note: not yet finished!
* • further preparations to F5 completionBibiko2010-01-111-38/+83
| | | | Note: not yet active - only querying the data in background will be performed for testing
* • first preparations to improve the Custom Query database names/table ↵Bibiko2010-01-101-0/+3
| | | | | | | | | names/field names + type and encoding completion - after connecting and updating the table list a background task executed on a different connection will be performed to query the information_schema db (MySQL >= 5 only so far) - the MCPConnection object holds a NSDictionary with all structural data Note: not yet active
* • made lexer 64bit compatibleBibiko2010-01-101-1/+4
| | | | | | - 'int' has to be replaced by 'size_t' • F5 completion - if inside of backticks after completion move caret one char rightwards to go out of the backticks
* • F5 completionBibiko2010-01-091-1/+3
| | | | | - fixed forgotten range checking to suppress Console warning - `|` [ | := caret ] shows all field names - up to now only those from the current table - table/db/proc/func names
* • reimplemented the F5 completion for quoted text i.e. completion based on ↵Bibiko2010-01-091-7/+15
| | | | NSSpellChecker only; language is selectable via right-click "Spelling and Grammar"
* - Upgrade Sequel Pro to be compiled as a 3-way PPC/i386/x86_64 binary for ↵rowanbeentje2010-01-091-33/+33
| | | | | | | release builds, including a large number of 64bit compatibility upgrades and tweaks - Upgrade RegexKitLite to 3.3
* - Improve line selection for certain errors ending in numbers, and ↵rowanbeentje2009-12-291-3/+8
| | | | safety-check selections to prevent crashes. This should address Issue #511.
* - Work through static analysis of the source, fixing a number of small ↵rowanbeentje2009-12-141-2/+2
| | | | memory leaks and fixing a couple of over-releases
* • fixed issue for "Update Help while typing" to suppress opening the MySQL ↵Bibiko2009-12-031-2/+2
| | | | documentation periodically if no internal help can be found
* Replace the use of hard coded preference keys with constants to prevent ↵stuconnolly2009-10-171-19/+20
| | | | issues such as the one fixed in revision 1419. All future preference usage should be done so using these constants.
* • updated SPQueryFavoriteManager to mange document-based and global query ↵Bibiko2009-09-071-1/+1
| | | | | | | favorites • disabled "Select Active Query" in CMTextView if shown in the favorite manager • code cleaning and simplifications
* Update Localizable.strings by running genstrings and remove use of multiple ↵stuconnolly2009-08-281-1/+1
| | | | comments for a single string.
* • tiny improvements for loading SQL files and syntax highlightingBibiko2009-08-281-8/+14
|
* • fixed bug while uppercasing keywordsBibiko2009-08-271-6/+13
| | | | - inserting a char within an already marked keyword doesn't end up in inserting a uppercase char if resulting word won't be a new keyword
* • some corrections for Custom Query completionBibiko2009-08-041-24/+14
| | | | | | - fixed issue if caret is inside `` for the narrow-down completion - fixed issue to add all 'Functions' for the "normal" completion - some minor code cleaning
* Merge framework integration branch back to trunk. Summary of changes:stuconnolly2009-07-211-3/+1
| | | | | | | | | | | | | | | - Includes all custom code from subclasses CMMCPConnection and CMMCPResult, meaning they have subsequently been removed from the project. - All previous Sequel Pro specific code in the above subclasses has been removed in favour of the delegate (currently set to TableDocumet) informing the framework of such information. - All references to CMMCPConnection and CMMCPResult have subsequently been changed to MCPConnection and MCPResult. - Framework includes MySQL 5.1.36 client libraries and source headers. - Framework is now built as a 4-way (32/64 bit, i386/PPC arch) binary. - All import references to <MCPKit_bundled/MCPKit_bundled.h> have been changed to <MCPKit/MCPKit.h>. - New script 'build-mysql-client.sh' can be used to build the MySQL client libraries from the MySQL source. See the script's header for a list of available options or run it with no arguments to display it's usage. Note that there are still a few changes to be made to the framework with regard to removing Sequel Pro specific calls to the delegate. These however can be made later on as they have no effect on functionality and are merely design changes. Also, note that any future development done on the framework should be made to be as 'generic' as possible, with no Sequel Pro specific references. This should allow the framework to be integrated into another project without the need for SP specific code.
* • Comment current Query/SelectionBibiko2009-07-151-5/+0
| | | | | | | - changed comment string to "-- " - fixed bug in uncomment - added gear menu item -- TODO: change menu item title according to selection/current query (coming soon)
* • initial support for ⌘/ in CustomQuery editor to (un)comment out the ↵Bibiko2009-07-151-1/+5
| | | | | | current query or selection by inserting "# " at the begin of each line - Note: not yet finished completely
* • fixed dealloc of 'suggestions' in SPNarrowDownCompletionBibiko2009-07-151-15/+11
| | | | | • deleted (void)paste hook from CMTextView (not needed anymore) • decreased iteration cycles for 'normal' completion (ESC) by getting only the unique words from the current textView
* • narrow-down completion (F5)Bibiko2009-07-151-20/+10
| | | | | - added view icon for Views - improved some tiny code snippets
* - Make the DBView window the document window. This allows the document to ↵rowanbeentje2009-07-151-1/+3
| | | | | | | | | | be closed when the window is closed, freeing the document's memory - Update a number of dealloc methods to include more retained memory, and to avoid releasing non-retained memory - Remove notification observers and delegates where appropriate to avoid issues after document closing - Fix a couple of memory leaks - Support window cascading for all windows past the first, using the first window as the autosave window
* • fix for completion in CustomQuery editorBibiko2009-07-141-78/+26
| | | | | | | - now the gathering of suggestions does not query the MySQL connection, instead it uses the TableList/TableDocument tableView data as a kind of cache - this approach should improve the speed for slow server connections TODO: auto-update for TableList and Database List resp. (it could happen that an other user changed the name of a table/db meanwhile)
* Fixed some memory leaksbamse162009-07-061-8/+12
|
* • trial to improve the Undo behaviour in the Custom Query editorBibiko2009-06-251-1/+3
|
* • some code cleaning and tiny performance enhancements for syntax highlightingBibiko2009-06-211-39/+31
|
* • added support to drag&drop textClipping files to Custom Query Editor and ↵Bibiko2009-06-191-1/+13
| | | | | | | to editSheet • fixed tiny issue for narrow-down completion
* • added to SPArrayAdditions.h: NSArrayObjectAtIndex() inline functionBibiko2009-06-181-5/+6
| | | | | | | | | - id o = NSArrayObjectAtIndex(anArray, index) :== id o = [anArray objectAtIndex:index] - this speed up it ~3µs per call - replaced that inline function for such calls within loops to speed up them • used IMP function pointers for keepAlive calls within queryString: • set -O3 (Fastest) compiler option • allow in preference pane "Tables" to set the Limit up to 50000