aboutsummaryrefslogtreecommitdiffstats
path: root/Source/SPStringAdditions.m
Commit message (Collapse)AuthorAgeFilesLines
* • Bundle commandsBibiko2010-11-291-1/+34
| | | | | - register running commands for each SPDatabaseDocument or if the command runs via 'General' for NSApp delegate - kill all running commands before SP will be terminated
* • Bundle Command supportBibiko2010-11-261-0/+2
| | | | | | - added shell var SP_ICON_FILE - a bundle command which outputs its result as HTML window will write the data in the same window, ie it won't be create each time a new window; the window will be identified by the bundle's uuid - fixed issue while saving a short-cut in keybinding.dict format, now it ignores possible diacritics - maybe bug in ShortcutRecorder for method [aRecorder keyCharsIgnoringModifiers] since in the objectValue it's set correctly
* • added method 'rot13' to NSStringBibiko2010-11-251-0/+35
| | | | | | | | • Bundle Editor - fixed several GUI issues - added the chance to add meta data to each bundle - each added/duplicated bundle will get an unique UUID in order to be able to identify a Bundle for future purposes like an update detection for installed bundles - changed init process
* • Bundle EditorBibiko2010-11-231-1/+1
| | | | | | | - bailed out from approach to assign more than one scope to Bundle commands; now there're three scopes available: Input Field (incl. Query Editor since it only differs in current_query and insert_as_snippet which falls back to current_line and tooltip message), Data Table, and General (which means that these commands are available app-wide) - moved "Disable Command" to scope popup menu since it's related - Input Field and Data Table commands will be shown as submenus in the Bundles main menu; all General commands will be added without creating a special submenu (only Category submenus will be generated) - fixed and simplified several issues
* • renamed some shell variables for Bundle commandsBibiko2010-11-221-4/+4
| | | | • added sequelpro scheme commands: SelectTables, ReloadTablesList, ReloadContentTable
* • run a normal bash script without #! first line as /bin/sh file whereby ↵Bibiko2010-11-211-5/+12
| | | | stdout is redirected
* • added line numbering and current line highlighting to Bundle Editor's ↵Bibiko2010-11-211-4/+5
| | | | | | | command text view • made each Bundle in/ouptut file name unique to allow to run different Bundle commands at the same time • fixed minor issues for Bundle Editor
* • bash command which runs as NSTask will write STDOUT automatically to a ↵Bibiko2010-11-211-21/+36
| | | | temp file which will be read after the bash process finished; this approach avoids nasty pipe blocking due to block size etc. and speeds up reading in large amount of data
* • further work on Bundle EditorBibiko2010-11-181-18/+16
| | | | • generalised [NSString runBashCommand...]
* • Bundle supportBibiko2010-11-161-6/+15
| | | | | - further minor improvements - make usage of more constants
* • Bundle supportBibiko2010-11-161-4/+60
| | | | | | - further simplifications and centralizations - runBashCommandWithEnvironment: now it can execute each script command whose first line begins with #!/... natively - added some more shell variables
* • added to Bundle shell command these variables:Bibiko2010-11-111-1/+2
| | | | | | | | | | SP_ALL_DATABASES, SP_ALL_TABLES, SP_ALL_VIEWS, SP_ALL_FUNCTIONS, SP_ALL_PROCEDURES, SP_RDBMS_VERSION, SP_RDBMS_TYPE [hard-coded yet ;)] • some minor improvements to editor Bundle support • fixed issue while running a bash command that the SP GUI doesn't block • added first sequelpro url scheme functionality - sequelpro://$SP_PROCESS_ID/passToDoc/SelectTable/a_name - sequelpro://$SP_PROCESS_ID/passToDoc/SelectDatabase/a_db_name - sequelpro://$SP_PROCESS_ID/passToDoc/SelectDatabase/a_db_name/a_table_name
* • some improvements for sequelpro://process_id/command/param1/param2 url ↵Bibiko2010-11-111-1/+10
| | | | | | scheme support - introduced an unique process ID for each called bash command which will be set for the current SPDatabaseDocument and passed as environment shell variable SP_PROCESS_ID to ensure that such a scheme command will be executed by the correct SPDatabaseDocument, to avoid security issues ie one can authenticate such a sheme command, to enable url scheme process communication based on file shake-hands etc.
* • added to SPStringAddition the method ↵Bibiko2010-11-091-0/+104
| | | | | | | runBashCommandWithEnvironment:atCurrentDirectoryPath:error which will run self as bash command and will return its result - if an error occurred it will return a NSError if desired - added the chance to pass shell environment variables and start directory for future usage in user-definable plugins written as scripts
* • improved the TableStructure handling of GEOMETRY fields and their ↵Bibiko2010-10-251-1/+1
| | | | validations against non-valid WKT notations - return NULL if no header
* • fixed issue of unnecessary string escaping for importing spatial data ↵Bibiko2010-10-101-1/+1
| | | | | | via GeomFromText() • minor code cosmetics
* • enabled SRID editing of spatial fields via WKT stringBibiko2010-10-091-0/+27
| | | | | - the SRID value will be appended at the WKT string like POINT(1 1),101 which will be transformed to GeomFromText('POINT(1 1)',101) on the fly - otherwise the SRID information will be deleted after editing a geometry field
* Remove 10.4 related code and associated macros.stuconnolly2010-09-261-40/+6
|
* • further progress to support "Save Session" (all opened windows plus ↵Bibiko2010-06-241-0/+14
| | | | | | | including tabs connections) - loop through all windows and for each window through all tabs and save all untitled doc within the bundle named via UUIDs and all opened spf files • added the SPStringAddition method +[NSString stringWithNewUUID] which returns a new UUID string
* Merge export redesign branch back into trunk.stuconnolly2010-05-241-43/+67
| | | | | | | | | | | | | | | | | | | | | Includes a completely redesign approach to all export data types based on the use of NSOperation subclasses. CSV, SQL, XML and dot export types are currently functional, while the source files for PDF and HTML export types exist they are to be implemented, but are currently hidden from the interface. Also includes the following: - Completely redesigned export interface. - The ability to customize CSV NULL values. - The ability to specify whether the UTF-8 BOM should be used in SQL dumps. - The ability to specify whether BLOB fields are output as hex or plain text during SQL dumps. Defaults to hex. - Exporting currently selected tables via the tables list context menu. Outstanding issues: - Not all progress indicators for all export types are functional (or functioning correctly). - A few issues related to the introduction of only exporting the content and create and drop syntax of specific tables during SQL dumps. Needs some serious testing and benchmarking to ensure it replicates the current export functionality.
* Change filesize units to base 2 rather than base 10. Fixes issue #690. Patch ↵stuconnolly2010-05-181-4/+4
| | | | provided by Max Lohrmann, thanks Max!.
* Tidy up imports and fix 'Reverse Sort Order' when sorting connection ↵stuconnolly2010-03-311-2/+3
| | | | favorites (Thanks Hans).
* • added "componentsJoinedByPeriodAndBacktickQuoted" to NSArrayAdditionsBibiko2010-01-141-38/+3
| | | | • updated some methods in in SPStringAdditions to 10.5 code which avoid mutableCopy and they're faster
* - Upgrade Sequel Pro to be compiled as a 3-way PPC/i386/x86_64 binary for ↵rowanbeentje2010-01-091-26/+26
| | | | | | | release builds, including a large number of 64bit compatibility upgrades and tweaks - Upgrade RegexKitLite to 3.3
* - Use long longs instead of ints when looking at table sizes, free space, ↵rowanbeentje2009-09-011-2/+10
| | | | | | | | and row counts for display, fixing overflow issues (this addresses Issue #394) - Tweak the byte size formatter to also show TBs for very large numbers - Improve row count and auto increment value formatting by using a number formatter (enhancements for Issue #394)
* User Manager featuremltownsend2009-08-111-0/+36
|
* Merge framework integration branch back to trunk. Summary of changes:stuconnolly2009-07-211-1/+0
| | | | | | | | | | | | | | | - 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.
* • added levenshteinDistanceOfWord: to SPStringAdditionsBibiko2009-07-131-2/+70
| | | | | - will be used mainly for auto-matching column names while csv import • fixed bug for in/decreasing the font size by using the two-finger gesture on a trackpad if a textView has a selection
* Improve custom query timing and display:rowanbeentje2009-06-271-5/+5
| | | | | | | - Amend timing using clock() to timing based on mach_absolute_time() (see revision comment on Google code) - Ensure the time returned is for the requested query and not subsequent helper queries - Use NSNumberFormatter to return a localised "< 0.1 ms" rather than the hardcoded Euro-style "< 0,1 ms"
* • fixed: avoid displaying µs for query execution timeBibiko2009-06-191-3/+7
| | | | | - minimum resolution now is set to 0.1ms - display “< 0,1ms” if time is less than minimum resolution
* • some tiny improvements to speed up queryString:Bibiko2009-06-181-2/+5
| | | | | | | | | - cache the function pointer for delegate willPerformQuery: - if Console Log window is NOT visible suppress reloadData and scrolling to last line (this speeds it up remarkably); if user opens the Console log window it will be synchronized - timeIntervall for execution time will be divide by CLOCKS_PER_SEC in [NSString stringForTimeInterval] - removed for utf8 enc in cString the return UTF8String (no significant difference) • now execution time shows only the time for mysql_real_query
* • some improvement to speed up queryString:Bibiko2009-06-171-0/+6
| | | | | | | - caching of delegate && respondsToSelector - use clock() to calculate query's execution time • converting to cString: if utf8 encoding make usage of UTF8String • added to StringAddition to display µs for a timeIntervall
* More header updates for source files, including Subversion Id property.stuconnolly2009-05-191-0/+3
|
* fixed #254 and an unreported bug in the constraint parsermtvee2009-05-151-0/+36
|
* • ADDED createViewSyntaxPrettifier method to a NSString to make the syntax ↵Bibiko2009-04-231-12/+59
| | | | | | a bit more readable - used for show/copy create view syntax as well as for a MySQL dump
* - Improve time interval granularity for times below 10 seconds (show two ↵rowanbeentje2009-04-091-0/+6
| | | | decimal places instead of one)
* - Add a new "gear" action menu underneath the custom query view, including ↵rowanbeentje2009-04-021-0/+33
| | | | | | | | | | | | 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
* Completely redesigned query console that now uses a table view instead of a ↵stuconnolly2009-03-261-34/+32
| | | | | | | | | | | | | text view. This should significantly improve import speed, but most importantly resolves the crashes caused by the drawing that was being performed by the text view. Fixes issue #87 and implements #167. New console provides the following: - Live filtering - Ability to hide message time stamps - Ability to hide SELECT/SHOW statement messages - Ability to copy messages to pasteboard, including multiple messages - Ability to save the current filtered content to a file, with the option to include the message time stamps
* - updated the backtickQuotedString method to be 10.4 compatible (and to ↵jakob2009-03-261-1/+1
| | | | compile as well. thanks marius!)
* - updated the backtickQuotedString method to be 10.4 compatiblejakob2009-03-261-1/+16
|
* - fixed issue #203 (backticks in identifiers not supported)jakob2009-03-241-0/+12
| | | | | | | | - added a backtickQuotedString: method to SPStringAdditions - created the file SPArrayAdditions for a componentsJoinedAndBacktickQuoted: method In the future, we should use backtickQuotedString: to quote identifiers like this: [NSString stringWithFormat:@"SELECT * FROM %@", [tableName backtickQuotedString]]
* SPSQLParser changes:rowanbeentje2009-03-191-0/+45
| | | | | | | | | | | | | | | | | | - Use method caches for oft-called functions, and support caching of chunks of the underlying string for string walking, resulting in an overall 1.3x-1.4x parsing speedup. - Improve handling of multi-character comment starts (eg / or -) at the very end of strings - When running splitString... methods return even empty strings for consistency. - Update TableDump and TableData to match new usage SPStringAddition changes: - Add a formatter for time intervals. CMMCPConnection changes: - Add support for timing queries CustomQuery and nib changes: - Change the "Run Queries" button to "Run All". - Add a "Run Current" button, which runs the query the text caret is currently positioned inside; if text is actually selected, this changes to "Run Selection". This addresses Issue #43. - Amend the "rows affected" string to better reflect the actual number of rows altered by several queries, show the query count if > 1, and display the overall execution time of the queries. This addresses Issue #142. - No longer execute blank strings as part of the custom query, preventing errors.
* Implemented method: componentsSeparatedByCharactersInSet. to be compatible ↵avenjamin2009-02-281-0/+33
| | | | with 10.4+
* Separate out the creation of a human readable string from the number of ↵stuconnolly2009-01-281-0/+69
bytes into a category class method of NSString so we can potentially use it in other places.