aboutsummaryrefslogtreecommitdiffstats
path: root/Source/CMTextView.m
Commit message (Collapse)AuthorAgeFilesLines
* • removed unused variable 'keyCode'Bibiko2009-05-201-1/+0
|
* • added ⌘+ and ⌘- for increasing/decreasing the font size by 1 in the ↵Bibiko2009-05-201-0/+31
| | | | Custom Query Editor quickly
* • improved completion suggestion for variable name; added delimiter ↵Bibiko2009-05-201-1/+1
| | | | “@” for word detection
* • fixed some issues for drag&drop a file to the CustomQuery editorBibiko2009-05-191-1/+2
| | | | | - close sheet before inserting - ensure that a file with the extension "sql" will be inserted (UNIX "file" could detect a file as being a non plain text file)
* • improved "Update Help while typing"Bibiko2009-05-191-4/+9
| | | | - it recognizes any keyDown event including arrow keys
* More header updates for source files, including Subversion Id property.stuconnolly2009-05-191-1/+2
|
* • skip auto-pairing if the caret is adjoined to an alphanumeric character ↵Bibiko2009-05-191-2/+30
| | | | except if the inserted character will be a “(” and the caret is located at the end of a string then process the auto-pairing
* • added drag 'n' drop functionality to CMTextView to allow to drag a file ↵Bibiko2009-05-081-107/+292
| | | | | | | | | | path onto the Custom Query editor in order to insert the file content - ⌘ + drag inserts the file name - if file's content size > 1MB it asks for confirmation - it tries to auto-detect the file's encoding (stable for UTF8/16/32, Latin1, MacRoman) - it tries to insert only plain text files (by using of the UNIX 'file -I' command) - error messages etc. are written to the console.log + NSBeep
* • added "Query Editor" preference pane for setting colors, font, and modes ↵Bibiko2009-05-071-88/+205
| | | | | | | | | | | | | | | | | (from the CQ's action gear which are still customizable there) - in addition to the syntax colors it's now possible to change the fore/background color as well • added "Update Help while typing" feature in the Custom Query editor • first trial to improve syntax highlighting for large text in the Custom Query editor - if the text is larger than 10k the highlighting is performed only for the visible text area ±bias (3.5k) - if the user changes the visible area the highlighting follows time-delayed 500ms) to assure user interaction - a test with a 45MB SQL dump worked (of course a tick slowier) -- todo: improve prev/current query detection (mainly the SQLParser) - if the text size is > 6MB the completion list won't show words from the text due to parsing time - if the text size is > 6MB the line numbering will be disabled due to performance issue (improvements should follow) • some tiny clarification changes in the syntax highlighting code • some minor code cosmetics
* • improved completion in CQ's text viewBibiko2009-05-021-38/+81
| | | | | | | - added database names - fixed logic for detecting if caret is inside quotes - if caret inside backticks show only db, table, column names • outsourced syntax highlighting into a method for further improvements
* - Fix indentation behaviour when there are spaces after as well as before ↵rowanbeentje2009-04-301-1/+9
| | | | the cursor on the current line; now indents to the correct level, instead of increasing indentation incorrectly
* • changed context menu item in CQ's textview to support "MySQL Help"Bibiko2009-04-301-34/+27
| | | | | • prepared code to work with autoHelp • improved getRangeForCurrentWord (fix for " |a")
* • MySQL HelpBibiko2009-04-301-11/+27
| | | | | | - updated autoHelp, now it recognizes cursor movement via mouse • if the chunk in CQ's textview is too large remove all attributes • some minor code cosmetics
* • MySQL HelpBibiko2009-04-291-11/+57
| | | | | - first trial to implement an "autoHelp" function This function calls showHelpForCurrentWord (or selection) 1 sec after stopping typing and shows the Help in the Help window if the caret is not inside of quotes. To invoke it set autohelpEnabled=YES in CMTextView.m's awakeFromNib method.
* • MySQL Help refactoringBibiko2009-04-291-1/+1
|
* • added a prototype to support an Help view for the current word in the ↵Bibiko2009-04-241-0/+9
| | | | | | Custom Query text view - work in progress!
* • updated completion list and added core functionsBibiko2009-04-231-5/+317
| | | | | • improved separator list for word list completion coming from the text view • minor update for syntax highlighting
* • FIXED added a ; to the separator list for gathering all words used in ↵Bibiko2009-04-221-1/+1
| | | | the text view for completion to avoid suggesting foo and foo;
* • added - (unsigned int) getLineNumberForCharacterIndex:(unsigned int)anIndex;Bibiko2009-04-211-0/+8
|
* • added selectLineNumber:x to CMTextView to be able to select the line xBibiko2009-04-201-0/+32
| | | | | | | | | • added error highlighting of the first mentioned error - if a "near message" error is provided select that message otherwise select the entire error line and scrolls to it - if no "at line x" and no "near message" is given do nothing - if a selection was given and the user pressed "runAll" destroy the selection before error checking; if no error was found reconstruct that selection (to be able to distinguish between "runSelection" and "runAll" plus selection) * changed slightly the trigger for syntax highlighting/auto-uppercasing for better scrollToRange behaviour
* - Build upon documentation lookup by looking up exact manual pages that ↵stuconnolly2009-04-191-7/+19
| | | | | | | correspond to the current MySQL server version as well as allowing the lookup to be performed without actually having the keyword highlighted. Thanks to Hans-Jörg for suggesting these. - Credit Alex King for providing the original documentation lookup code.
* Add a slightly modified patch to lookup up the selected text in the custom ↵stuconnolly2009-04-191-6/+49
| | | | query editor in the MySQL online documentation. Code contributed via issue #236.
* - Implement line numbering for CMTextView:rowanbeentje2009-04-161-0/+6
| | | | | | - Add an implementation of NoodleLineNumberView, by Paul Kim. Slightly tweaked to remove markers. - Add to CMTextView (to enable it for other CMTextView uses, hook up the scrollView outlet to the containing scroll view)
* • syntax highlighting and completion list updatedBibiko2009-04-141-0/+1
|
* • syntax highlighting and completion list updatedBibiko2009-04-141-47/+88
|
* • removed debug infoBibiko2009-04-091-1/+0
|
* • syntax highlighting synchronized according to the completion listBibiko2009-04-091-14/+10
| | | | • some minor code cosmetics
* • keyword update for syntax highlightingBibiko2009-04-081-2/+323
| | | | • keyword update for completion
* • FIXED: unique completion listBibiko2009-04-081-13/+34
| | | | • ADDED: if caret is inside quotes "" or '' show Apple's default completion list due to the spell checker settings
* • simplified paste: (esp. for undo)Bibiko2009-04-081-3/+1
| | | | • syntax highlighting updated
* • FIXED if deleteBackward: avoid auto-uppercasing if resulting word would ↵Bibiko2009-04-081-3/+9
| | | | | | be a SQL keyword - e.g. type inta and then press deleteBackward:
* • FIXED auto-uppercasing bug if SQL keyword is found at the absolute end ↵Bibiko2009-04-081-5/+10
| | | | | | of the textStorage - this fixes also auto-uppercasing for runAll/Current/SelectionQueries
* • syntax highlighting updatedBibiko2009-04-081-0/+4
| | | | - added highlighting for @vars
* • optimized syntax highlighting a bitBibiko2009-04-071-0/+4
| | | | | | • added syntax highlighting for numeric values • changed syntax highlighting for 'order' and 'group' to 'order by' resp. 'group by' (useful also for visual syntax checking while typing) • fixed the issue to highlight a keyword if that keyword is the name a variable (e.g. @set := 1)
* • improved auto-uppercasing for: pasting queries from favourites & history ↵Bibiko2009-04-071-7/+11
| | | | | | | and before performQueries • improved undo behaviour of auto-uppercasing • added undo behaviour for pasting queries from favourites & history
* • ADDED to SPTextViewAdditions:Bibiko2009-04-051-147/+0
| | | | | | | | | | | | | | - (NSRange)getRangeForCurrentWord - (IBAction)selectCurrentWord:(id)sender; - (IBAction)selectCurrentLine:(id)sender; - (IBAction)doSelectionUpperCase:(id)sender; - (IBAction)doSelectionLowerCase:(id)sender; - (IBAction)doSelectionTitleCase:(id)sender; - (IBAction)doDecomposedStringWithCanonicalMapping:(id)sender; - (IBAction)doDecomposedStringWithCompatibilityMapping:(id)sender; - (IBAction)doPrecomposedStringWithCanonicalMapping:(id)sender; - (IBAction)doPrecomposedStringWithCompatibilityMapping:(id)sender; • BOUNDED these IBAction to mainmenu.xib
* • FIXED: allow to enter dead keys esp. for non-US keyboardsBibiko2009-04-041-1/+3
| | | | | - e.g. for a German one ` is a dead key (press space to enter `) -- further checks needed for other non-US keyboards
* • FIXED upper case of e.g. 'order_' issueBibiko2009-04-041-18/+23
| | | | | | | - in addition fixed issue of typing 'order_' and then deleteBackward: event [ticket 281 comment 2] -- solved by looking at the end of SQL keyword token instead at begin of it => further discussion "undo behaviour"
* • REARRANGED keyDown: for further changesBibiko2009-04-031-115/+278
| | | | | | | | | | | | | | | | | • ADDED the following methods and tentative keyboard support: - (NSRange)selectCurrentLine ^L - (NSRange)selectCurrentWord ^W - (void)copyAsRTF ^C - (void)doSelectionUpperCase ^U - (void)doSelectionLowerCase ^⇧U - (void)doSelectionTitleCase ^⌥U - (void)doDecomposedStringWithCanonicalMapping - (void)doDecomposedStringWithCompatibilityMapping - (void)doPrecomposedStringWithCanonicalMapping - (void)doPrecomposedStringWithCompatibilityMapping -- there's no need to add keyboard shortcuts for the last four methods (but these are very useful while dealing with Unicode characters - see “Unicode noramization”) • some minor code cosmetics
* • ADDED copyAsRTF: to preserve syntax highlighting while copyingBibiko2009-04-031-0/+19
| | | | - not yet bound to any user interaction
* - Add the ability for CMTextView to automatically capitalise SQL keywords ↵rowanbeentje2009-04-031-22/+65
| | | | in the text view, currently off by default but saved from preferences. Thanks again to Hans-Jörg Bibiko for this patch; see Issue #218.
* - Improves autopairing to no longer autopair different quote characters ↵rowanbeentje2009-04-021-1/+34
| | | | within a quoted string, and also to no longer autoquote escaped characters within a quoted string. Also adds syntax highlighting to `-enclosed strings. Further thanks to Hans-Jörg Bibiko for these further improvements to his original patch (see http://code.google.com/p/sequel-pro/issues/detail?id=208 )
* - Add a new "gear" action menu underneath the custom query view, including ↵rowanbeentje2009-04-021-4/+130
| | | | | | | | | | | | a number of items: - Add menu commands for "Run All" and "Run Selected", with additional keyboard shortcuts - cmd-R for Run all, addressing #137 - Add menu commands for indenting text, outdenting text, and to show autocompletion is available - Add menu commands to toggle autopairing and autoindenting - Also hidden menu commands for history navigation and clearing, not hooked in yet (see #207) - Add a new method to our string additions: lineRangesForRange - Add "shift right" (indent) and "shift left" (outdent) support to CMTextView, including for multiple lines
* - Add autopairing support to CMTextView - many thanks to Hans-Jörg Bibiko ↵rowanbeentje2009-04-011-5/+276
| | | | | | | | for the original patch (see http://code.google.com/p/sequel-pro/issues/detail?id=208 for full details). Applied with slight amendments. - Further changes to make CMTextView more standalone and reusable - autopairing and autoindenting can now be enabled/disabled and checked. - Autopairing and autoindenting moved to app preferences.
* - Fix behaviour of the enter key to run the query again - broken in r451rowanbeentje2009-03-311-2/+2
|
* - Update the custom query view to preserve indentation level on newlines, ↵rowanbeentje2009-03-301-0/+43
| | | | to improve editor behaviour.
* Rename tokens.h to SPEditorTokens.h and tokens.l to SPEditorTokens.l.stuconnolly2009-03-261-2/+2
|
* - changed default colors for syntax coloringjakob2009-03-171-43/+61
| | | | | - disabled syntax coloring for texts larger than 20KB (too slow) - added alot of comments to the syntax coloring code
* adding syntax coloring (issue #46 )jakob2009-03-161-0/+82
|
* Added column names to completion list for for currently selected table.avenjamin2009-03-051-3/+14
|