Sublime Text 2 is a text editor for OS X, Linux and Windows, currently in beta.
Change newline_at_eof installation preference to true
It is a general, widely known practical observation that (at least some) people will leave (at least some of) their software preferences unchanged after installation.
Upon installation, the preference whether newlines are ensured at EOF on save is false.
This installation default is wreaking a small degree of havoc with programmers using versioning systems including git.
The reasonable and usual practice of software in Unix and elsewhere is to expect, and to maintain, that all lines end with a newline. This includes the final line. For more information, here are two links:
http://stackoverflow.com/questions/729692/why-should-files-end-with-a-newline
http://slashdot.org/comments.pl?sid=165492&cid=13808398
To be more precise, after installation, in Default/Preferences.sublime-settings these statements occur:
// Set to true to ensure the last line of the file ends in a newline
// character when saving
"ensure_newline_at_eof_on_save": false,
This should be changed instead so after installation automatically the statements are:
// Set to false to ensure the last line of the file does not end in a newline
// character when saving
"ensure_newline_at_eof_on_save": true,
Further, the editor must not display a new empty line after saving as it does now when this preference is set to true. This even though there is a final newline.
The editor may be treating newlines erroneously as line separators and not correctly as line terminators. This possibility is described in the links above.
package control plugin broken in Sublime 3 on OSX
startup, version: 3059 osx x64 channel: stable
executable: /Applications/Sublime Text.app/Contents/MacOS/Sublime Text
working dir: /
packages path: /Users/seancarolan/Library/Application Support/Sublime Text 3/Packages
state path: /Users/seancarolan/Library/Application Support/Sublime Text 3/Local
hardware concurrency: 8
zip path: /Applications/Sublime Text.app/Contents/MacOS/Packages
zip path: /Users/seancarolan/Library/Application Support/Sublime Text 3/Installed Packages
found 5 files for base name Default.sublime-keymap
found 1 files for base name Default.sublime-mousemap
found 1 files for base name Main.sublime-menu
loading bindings
loading pointer bindings
found 1 files for base name Default.sublime-theme
theme loaded
app ready
wrote startup cache, added files: 1 orphaned files: 3 total files: 151 cache hits: 150
pre session restore time: 0.19615
using gpu buffer for window
using gamma: 1 (err: 0)
first paint time: 0.304532
startup time: 0.325608
found 1 files for base name Default.sublime-theme
theme loaded
launching: /Applications/Sublime Text.app/Contents/MacOS/plugin_host
reloading plugin Default.block
reloading plugin Default.comment
reloading plugin Default.copy_path
reloading plugin Default.delete_word
reloading plugin Default.detect_indentation
reloading plugin Default.duplicate_line
reloading plugin Default.echo
reloading plugin Default.exec
reloading plugin Default.fold
reloading plugin Default.font
reloading plugin Default.goto_line
reloading plugin Default.history_list
reloading plugin Default.indentation
reloading plugin Default.kill_ring
reloading plugin Default.mark
reloading plugin Default.new_templates
reloading plugin Default.open_file_settings
reloading plugin Default.open_in_browser
reloading plugin Default.pane
reloading plugin Default.paragraph
reloading plugin Default.paste_from_history
reloading plugin Default.save_on_focus_lost
reloading plugin Default.scroll
reloading plugin Default.set_unsaved_view_name
reloading plugin Default.side_bar
reloading plugin Default.sort
reloading plugin Default.swap_line
reloading plugin Default.switch_file
reloading plugin Default.symbol
reloading plugin Default.transform
reloading plugin Default.transpose
reloading plugin Default.trim_trailing_white_space
reloading plugin CSS.css_completions
reloading plugin Diff.diff
reloading plugin HTML.encode_html_entities
reloading plugin HTML.html_completions
reloading plugin Vintage.vintage
reloading plugin Vintage.vintage_commands
reloading plugin Vintage.vintage_motions
plugins loaded
loaded 837 snippets
>>> import urllib.request,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404e330c659d4bb41d3bdf022e94cab3cd0'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)
132375
reloading plugin Package Control.Package Control
found 2 files for base name Main.sublime-menu
Package Control: Skipping automatic upgrade, last run at 2014-02-14 10:48:26, next run at 2014-02-14 11:48:26 or after
Package Control: Error parsing JSON from channel https://sublime.wbond.net/browse.
Exception in thread Thread-7:
Traceback (most recent call last):
File "X/threading.py", line 639, in _bootstrap_inner
File "package_control.downloaders.background_downloader in /Users/seancarolan/Library/Application Support/Sublime Text 3/Installed Packages/Package Control.sublime-package", line 61, in run
File "package_control.providers.repository_provider in /Users/seancarolan/Library/Application Support/Sublime Text 3/Installed Packages/Package Control.sublime-package", line 77, in prefetch
File "package_control.providers.repository_provider in /Users/seancarolan/Library/Application Support/Sublime Text 3/Installed Packages/Package Control.sublime-package", line 77, in <listcomp>
File "package_control.providers.repository_provider in /Users/seancarolan/Library/Application Support/Sublime Text 3/Installed Packages/Package Control.sublime-package", line 219, in get_packages
File "package_control.providers.repository_provider in /Users/seancarolan/Library/Application Support/Sublime Text 3/Installed Packages/Package Control.sublime-package", line 111, in fetch
File "package_control.providers.repository_provider in /Users/seancarolan/Library/Application Support/Sublime Text 3/Installed Packages/Package Control.sublime-package", line 153, in fetch_location
File "package_control.download_manager in /Users/seancarolan/Library/Application Support/Sublime Text 3/Installed Packages/Package Control.sublime-package", line 209, in fetch
File "package_control.downloaders.urllib_downloader in /Users/seancarolan/Library/Application Support/Sublime Text 3/Installed Packages/Package Control.sublime-package", line 202, in download
Package Control.package_control.downloaders.downloader_exception.DownloaderException: Error downloading repository. HTTP exception InvalidURL (nonnumeric port: 'pderichs') downloading http://github.com:pderichs/sublime_rubocop.git.
Exception in thread Thread-6:
Traceback (most recent call last):
File "X/json/decoder.py", line 368, in raw_decode
File "X/json/scanner.py", line 63, in _scan_once
StopIteration
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "package_control.providers.repository_provider in /Users/seancarolan/Library/Application Support/Sublime Text 3/Installed Packages/Package Control.sublime-package", line 168, in fetch_location
File "X/json/__init__.py", line 309, in loads
File "X/json/decoder.py", line 352, in decode
File "X/json/decoder.py", line 370, in raw_decode
ValueError: No JSON object could be decoded
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "X/threading.py", line 639, in _bootstrap_inner
File "package_control.downloaders.background_downloader in /Users/seancarolan/Library/Application Support/Sublime Text 3/Installed Packages/Package Control.sublime-package", line 61, in run
File "package_control.providers.repository_provider in /Users/seancarolan/Library/Application Support/Sublime Text 3/Installed Packages/Package Control.sublime-package", line 77, in prefetch
File "package_control.providers.repository_provider in /Users/seancarolan/Library/Application Support/Sublime Text 3/Installed Packages/Package Control.sublime-package", line 77, in <listcomp>
File "package_control.providers.repository_provider in /Users/seancarolan/Library/Application Support/Sublime Text 3/Installed Packages/Package Control.sublime-package", line 219, in get_packages
File "package_control.providers.repository_provider in /Users/seancarolan/Library/Application Support/Sublime Text 3/Installed Packages/Package Control.sublime-package", line 111, in fetch
File "package_control.providers.repository_provider in /Users/seancarolan/Library/Application Support/Sublime Text 3/Installed Packages/Package Control.sublime-package", line 170, in fetch_location
Package Control.package_control.providers.provider_exception.ProviderException: Error parsing JSON from repository https://sublime.wbond.net/.
Exception in thread Thread-3:
Traceback (most recent call last):
File "X/threading.py", line 639, in _bootstrap_inner
File "package_control.commands.install_package_command in /Users/seancarolan/Library/Application Support/Sublime Text 3/Installed Packages/Package Control.sublime-package", line 43, in run
File "package_control.package_installer in /Users/seancarolan/Library/Application Support/Sublime Text 3/Installed Packages/Package Control.sublime-package", line 54, in make_package_list
File "package_control.package_manager in /Users/seancarolan/Library/Application Support/Sublime Text 3/Installed Packages/Package Control.sublime-package", line 260, in list_available_packages
File "package_control.downloaders.background_downloader in /Users/seancarolan/Library/Application Support/Sublime Text 3/Installed Packages/Package Control.sublime-package", line 52, in get_provider
KeyError: 'https://sublime.wbond.net/'
Improve selected item highlight from the filtered list (the one used by "Goto Anything..." / CTRL-P)
For instance, in the following image can you easily tell which item is selected?
"Close All Files" in the File menu should close all saved files first.
Alternatively, you could implement a Close All Saved Files option.
Project File Definitions
For project settings it would be nice to be able to define "files" as well as "folders". Sometime there are files that might exist outside of a directory. Rather than including an entire folder only to exclude all but one or two files it would be nice to be able to just include specific files. This could take many of the same parameters as the folders, name, path, etc. Of course the exclude patterns wouldn't make sense to include.
Example:
{
"files":
[
{
"path": "/path/to/my/file.txt"
},
{
"path": "/path/to/my/other/file.txt"
}
]
}
PS. Great work. This is an awesome project. I am hoping I can get our whole development team using it.
Prose with Ease
Rainbow Mode
Separation of Layout and Groups
Different font colors for matched pairs of parens
Deleting project root folder doesn't remove it from sidebar
Servicio de atención al cliente por UserEcho