aboutsummaryrefslogtreecommitdiffstats
path: root/Source/CMTextView.m
Commit message (Collapse)AuthorAgeFilesLines
* • shortened SP_ASLIST_ALL_FIELDS_FROM_SELECTED_TABLE to ↵Bibiko2010-03-091-1/+1
| | | | | | SP_ASLIST_ALL_FIELDS since it's too long • some GUI improvements for Query Fav Editor's "Insert placeholder"
* • for auto-completion suppress the caret moving inside `foo`|Bibiko2010-03-091-1/+1
|
* • added $SP_ASLIST_ALL_FIELDS_FROM_SELECTED_TABLE as pre-defined snippet listBibiko2010-03-091-54/+165
| | | | | • added Show Completion List submenu to the Custom Query Editor gear menu with the items all dbs ^1, all tables ^2, all fields ^3 • if dbStructure is available show these pre-defined completion lists with all info like the completion it does, otherwise fall back to plain style
* • fixed bug in snippet list - now it inserts the chosen item correctly ↵Bibiko2010-03-091-25/+77
| | | | | | | | | | | | | after narrow-down the list • added chance to invoke the snippet list in fuzzy search mode by the template ¦¦a¦b¦¦ • added new snippet placeholders: ¦$SP_ASLIST_ALL_TABLES¦ displays a list of all tables incl. views from the current db ¦$SP_ASLIST_ALL_DATABASES¦ displays a list of all dbs from the current connection This makes it possible to write eg a query fav: USE ¦¦$SP_ASLIST_ALL_DATABASES¦¦; to search via fuzzy mode for a db and to use it
* • fixed some minor GUI issues for SPNarrowDownCompletion windowBibiko2010-03-091-2/+4
| | | | - added oneColumn mode for dict and list view to decrease the window's width
* • added possibility to define a snippet via ¦a¦b¦ – such a snippet ↵Bibiko2010-03-081-3/+42
| | | | | | | | will be shown as completion list with the items “a” and “b” • set auto-completion default Pref setting to true • fixed some auto-completion issues like do not insert common prefix automatically and some others • applied ¦a¦b¦ template to CompletionTokens.plist and some tiny corrections and improvements
* • auto-completionBibiko2010-03-081-1/+1
| | | | - make sure it will only be invoked if there're pending changes to the text buffer -this fixes issue that auto-completion was invoke by eg Run All
* • outsourced keyword completion and function completion lists to ↵Bibiko2010-03-081-1006/+56
| | | | | | | | | | | CompletionTokens.plist • SPQueryController manages keyword and function completion lists now; this reduces the memory usage a bit and the list is easier to edit • added pre-defined function argument snippets to CompletionTokens.plist (auto-generated from mysql's HELP) • added Preference option for Editor whether a function completion should insert () and if found the function argument snippets automatically or not - last ) will be linked as autopaired then • changed behaviour for wrapping a selection into `"'() etc. - now it re-selects the original selection after wrapping and in addition last wrap character is now marked as autopair-linked • improved logic for popping up the auto-completion list
* • added to CustomQuery's CMTextView the option to set auto-completion ↵Bibiko2010-03-071-10/+46
| | | | | | on/off, settable in Prefs and gear menu - if inserted completion is marked as function it inserts snippet (${}1:) so far; function parameters as snippets follows soon
* • set CMTextView temporarily to editable:YES if the tab stops width is ↵Bibiko2010-03-061-0/+6
| | | | changed to avoid exceptions
* • CSV Import Field MapperBibiko2010-03-061-33/+48
| | | | | - fixed some issues for displaying the default values for auto_increment and time_stamp • added possibility to change the tab stop width in each CMTextView via Preference setting in Editor window
* • CSV Import Field MapperBibiko2010-03-051-1/+1
| | | | | | | | | | | - removed Advanced sheet, instead resize the main sheet and display these settings in it - added advanced options LOW/HIGH_PRIORITY - improved logic for adv. settings, disabling UPDATE if target table has less than 2 fields, etc. - fixed URL for displaying the source file name - removed Help text since it's too large - should be go to the general help • CMTextView - fixed bug if ESC Completion is invoked if caret position is 0 • fixed document URL handling to come up with the correct icons etc.
* • REPAIR, OPTIMIZE, ANALYZE, FLUSH, CHECKSUM now can be applied to more ↵Bibiko2010-02-261-1/+1
| | | | | | | | than one selected item in the TablesList; if no error alert OK, if not or for CHECKSUM list the output in a table view - while sheet is open showing the accessory table user can press ⌘C for copying it - added missing NSLocalizeStrings • fixed a tiny issue for $SP_SELECTED_TABLES
* • Query Favorites:Bibiko2010-02-251-0/+13
| | | | | | | | - added snippet variable $SP_SELECTED_TABLES which inserts `table1`,`table2`, etc. (ONLY tables) • improved "Check Table" - now one can select more than one table to execute "CHECK TABLE table1,table2,… ; if all tables passed successfully alert OK, if not show the result as accessory table in the sheet note: OPTIMIZE, REPAIR, FLUSH, CHECKSUM, ANALYZE follow
* • corrected regexp for parsing text macro snippetsBibiko2010-02-151-3/+3
|
* • improved text macro snippet behaviourBibiko2010-02-131-40/+72
| | | | | | • improved the ability to run bash commands inside of snippets • ignore most of the syntax highlighting inside snippet declarations • fixed issue in CMTextView to use obj class variables only to generalise this object
* Fix a number of memory leaks, and over-releases, as both a result of manual ↵rowanbeentje2010-02-101-2/+2
| | | | inspection of leaks and Clang static analysis.
* • initial implementation of bash execution inside ${x:…} snippetsBibiko2010-02-061-25/+52
| | | | | | - eg SELECT "${2:$(curl 'http://www.sequelpro.com/index.html' | perl -pe 's/\"/\\"/g')}" - testing phase! - each bash task can be interrupted by ⌘.
* • further preparations to allow to run any bash command(s) incl. any ↵Bibiko2010-02-061-0/+57
| | | | | | | | | scripts like Perl, Ruby, AppleScript etc inside the text macro snippets of the query favorites and insert the result for such a bash command as snippet à la: SELECT ${1:$(cat ~/Desktop/foo.txt)} or ${1:$(open 'http://www.sequelpro.com')} - such a task can be interrupted by pressing ⌘ + . anytime - if the task doesn't exit successfully the error will be written into the the standard Console log - not yet activate
* • fixed undo behaviour of insertion of history/query favsBibiko2010-02-041-2/+11
| | | | • improved text macro/query favs insertion logic
* • CMTextViewBibiko2010-02-021-1/+4
| | | | | | - suppress current query/syntax highlighting for text buffer size > 20MB to allow at least editing and performing queries • Main Menu - set hidden new Export menu item to key ⇧⌘E and reset "Use selection for searching" to ⌘E since it's a standard Mac binding
* • fixed partially syntax highlighting for very very long linesBibiko2010-02-021-7/+25
| | | | • fixed some NSUInteger checks à la while(NSUInterger >= 0) since it's always > 0
* • added key-shortcut ⌘= to make the textview size largerBibiko2010-02-021-7/+46
| | | | | | | | • ⌘-, ⌘+, ⌘= changes the font size temporarily (Mac app conform) • added key-shortcut ⌘0 to reset the font to pref default • fixed search field background for Tables List • fixed NSUInteger for completion parsing; interrupt completion if parsed string length is larger than 100000 since it doesn't make sense and leads to warnings
* • fixed in CMTextView several NSInteger which has to be NSUInteger; this ↵Bibiko2010-02-021-21/+21
| | | | | | led to an issue that SP crashed for very very long lines/queries - this has to be investigate further!
* • sped up Query Editor for larger textBibiko2010-02-011-19/+26
| | | | - rewrote [NoodleLineNumber requiredThickness] completely to avoid stack overflow for larger text due to [NSMutableString string] plus appendString all the time without releasing it in time
* • CMTextView: switch off syntax highlighting if text buffer size is larger ↵Bibiko2010-02-011-6/+24
| | | | | | than SP_SYNTAX_HILITE_BIAS (has to be improved) • added SPFieldMapperController
* • re-enabled possibility to change the font size of non-editable ↵Bibiko2010-02-011-2/+2
| | | | CMTextViews via ⌘+, ⌘-, or trackpad pinch in/out gesture
* • Added basic print support for each CMTextViewBibiko2010-02-011-38/+57
| | | | • first steps to renew the field mapper sheet for CSV Import
* • improved text macro snippet logicBibiko2010-02-011-17/+19
|
* • Content Table and Query Editor table's tooltip are displayed by using ↵Bibiko2010-01-311-96/+10
| | | | | | the same font/size as the table cells • CMTextView: make sure that some methods are never called if the CMTextView is set to 'not ediable'
* • CMTextView's colours are set via observer, live changed in editable ↵Bibiko2010-01-301-35/+53
| | | | | | | | textviews • added Preference setting "Table font" in "Table" pane to set the table font/size for all result tables (Content, Custom Query) • added to SPTableView the method setFont: • fixed the initialisation of vars in CMTextView (fixes the displaying of create syntax)
* • added observer for all Query Editor colors to avoid initialising colors ↵Bibiko2010-01-301-96/+115
| | | | | | each time for syntax highlighting which speed it up a bit; now if one changes a color the changes are done in view after a delay of 0.1 s if text buffer < 100k for speed reasons • fixed: before highlighting the current query ensure that the text storage is in a stable and clean status; otherwise SP crashes for ranges which aren't rendered yet
* • current query highlighting is done now in drawRect: (much more faster ↵Bibiko2010-01-301-23/+131
| | | | | | | | and thanks to Jakob) • improved snippet background drawings esp. for multiple lines (commit on behalf of Jakob) • simplified code for changing and setting background colors and Pref setting for highlight current query by observers (much more faster)
* • text macro logicBibiko2010-01-291-17/+27
| | | | | | | - improved highlighting of multi-line snippets (many thanks to jabakobob for this patch!) - some tiny cosmetics • error message highlighting in Custom Query Editor - removed near message length checking to be larger than 2, not necessary
* • further tiny improvements to avoid exceptional cases while highlighting ↵Bibiko2010-01-291-0/+3
| | | | | | | | | the erroneous query - added check for near message length - make an intersection with the buffer range before selecting • text macro - each selection of a snippet breaks the undo buffer - note: undo behaviour while text macro session is active needs to be solved ⇢ work in progress
* • fixed some issues and improved the text macro behaviourBibiko2010-01-291-62/+53
|
* • text macro improvementsBibiko2010-01-281-5/+44
| | | | | | | | - added dynamically set SP variables $SP_SELECTED_TABLE and $SP_SELECTED_DATABASE available in each ${x:…} snippet to allow to create a query fav à la: SELECT ${1:$SP_SELECTED_TABLE.} FROM ${1:$SP_SELECTED_TABLE} whereby for the first snippet one can press ESC to insert one or by holding down the CTRL key while inserting more field names from the current table - improved snippet range detection for current caret position - reduced the border width of snippet highlighting and changed slightly the colour for the current selected snippet
* • for [CMTextView selectLineNumber:…] added safety-check for lineNumber < 1Bibiko2010-01-281-1/+2
| | | | | | | | • error message highlighting in CustomQuery - check for error ID 1064 before trying to select the erroneous line given as '… at line x' (this solves the issue that other error messages could end by a number) - improved regexp to get rid of localized error messages for parsing the erroneous line number (thanks to Jakob) - look the last number in a string - improved regexp to parse for the 'near message' for localized error messages
* • 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