What's new in Sublime Text 4 Build 4173 Dev
Feb 27, 2024
- Fixed another deadlock issue when reloading plugins
- Improved accuracy of scope selectors
- Improved clarity of dragged tabs in mixed-dpi setups
- Fixed dragged tabs not following mouse in mixed-dpi setups
- Fixed syntax tests not running when files aren't utf-8 encoded
New in Sublime Text 4 Build 4172 Dev (Feb 22, 2024)
- Fixed plugins deadlocking
- Fixed git repository details not always showing
- Fixed a use-after-free when exiting
New in Sublime Text 4 Build 4171 Dev (Feb 21, 2024)
- Fixed a crash when auto-completing
- Fixed whole app crashing when a plugin host crashes
- Fixed crash when using goto-anything with an image open
- API: All functions are now available at import time
- API: Fixed backwards compatibility breakage with View.style_for_scope
- API: Fixed a regression that caused an infinite loop
New in Sublime Text 4 Build 4170 Dev (Feb 20, 2024)
- Added enable toggle to indexing status dialog
- Fixed leak of shared memory
- Improved error handling for shared memory
- Improved behavior of Expand Selection in Python docstrings
- Full Screen is now restored when exiting Distraction Free Mode
- Added goto_anything_file_preview setting
- Added context menu for image tabs
- Added File > Open file as Text/Image for explicitly opening a file as an image or as text
- Added "image_file_patterns" for controlling which files are automatically opened as an image
- The "menu" key now works in the side-bar
- Reduced memory usage when editing large files
- Fixed dragged tabs being blurry on high-dpi
- Fixed off-by-one in the alignment of multiple selected tabs
- Fixed fold markers not having background rendering
- Fixed an issue with rulers displaying incorrectly while scrolling under OpenGL
- Opening folder history in Sublime Merge now works recursively
- Added syntax argument to run_syntax_tests command
- Added error message for syntax tests that aren't utf-8 encoded
- Theme: New unmodified files no longer have the "dirty" attribute
- API: Optimized auto-completion
- API: Calling functions at import time now raises a RuntimeError
- API: Fixed ViewEventListener occasionally leaking
- API: Fixed Settings.get not always returning the default value on failure
- API: Fixed View.style_for_scope not always returning the right source_line
- API: minihtml now supports white-space: pre and white-space: pre-wrap
- Mac: Files moved to trash now have a "Put Back" option
- Mac: Fixed issues related to dragging the edges of windows
- Mac: Fixed security entitlements for plugins not applying properly
- Windows, Linux: Allow numbers as menu mnemonics
- Windows: Fixed custom top-level menu items not being themed
New in Sublime Text 4 Build 4169 (Nov 24, 2023)
- Fixed a stack overflow when closing large amounts of files
- API: Fixed backwards compatibility breakage with Sheet.is_transient()
- API: Fixed a crash with Window.set_view_index
- Linux: Fixed a rare crash with the save dialog
- Windows: Fixed a rare crash related to cursor hiding
New in Sublime Text 4 Build 4168 Dev (Nov 22, 2023)
- Fixed a stack overflow when closing large amounts of files
- Linux: Fixed a rare crash with the save dialog
New in Sublime Text 4 Build 4167 Dev (Nov 22, 2023)
- Fixed backwards compatibility breakage with Sheet.is_transient()
New in Sublime Text 4 Build 4166 (Nov 20, 2023)
- Various syntax highlighting improvements
- Index collation is now done incrementally
- Fixed an issue where animations were causing excessive redraws
- Find in files now truncates long lines according to the "find_in_files_context_characters" setting
- Fixed auto-complete not suggesting tokens from the current line
- Added Mouse Bindings to the Preferences menu
- Added Preferences > Font > Choose… for an easy way to select a font
- Added Copy Path to Sidebar context menu
- Fixed minimap border not rendering
- Fixed color emoji blending with transparency
- Fixed line-number alignment when using a variable-width font
- Fixed double clicking a find in file result sometimes scrolling to the wrong line in the file
- Fixed case where opening a file from Sublime Merge wouldn't jump to the right line
- Improved bookmark toggling
- Improved performance of "Definitions" popup
- Improved Join Lines behavior
- Improved behavior of Indent command on empty lines
- Added "ruler_width" setting
- Added current_result command
- Fixed case conversions not taking all-caps into account
- Fixed an auto-indent issue
- Fixed an issue with find_under_expand when the find panel is focused
- Fixed disabling "highlight_gutter" resulting in "highlight_line" begin disabled
- Fixed some incorrect behavior when converting a multi-line selection to Title Case
- Fixed a memory corruption bug related to block carets
- Fixed Quick Switch Project… from the settings window closing the window
- Fixed "move_to_limit_on_up_down" setting not working
- Shift+Enter now also hides the incremental find panel
- Fixed macro recording in Vintage package not working
- Updated to OpenSSL 1.1.1v
- Fixed run_syntax_tests command not running symbol tests
- API: Added sublime.choose_font_dialog
- API: Allow case insensitive comments using TM_COMMENT_CASE_INSENSITIVE
- API: Fixed instability related to overlapping API calls
- API: Fixed crash when an edit token is passed to the wrong view
- API: Fixed some issues related to plugin initialization
- API: ListInputHandler now supports initial_selection
- API: Fixed ListInputHandler not selecting the first result when initial_text is provided
- API: Added update_text option to sublime.encode_value
- API: Fixed expand_to_paragraph in paragraph.py incorrectly unpacking tuple
- Linux: Improved tracking of fullscreen state
- Linux: Fixed some memory leaks related to fonts
- Linux: Fixed "ui_scale" setting not being applied to fonts correctly in some cases
- Windows: Added CRLF handling for text drag an drop
- Windows: Fixed wrong font extents causing glyphs to be cut off at the top
- Windows: Fixed caret movement across phantoms when using fractional scaling
- Mac: Improved animation frame timing
- Mac: Implemented window cascading
- Mac: Recent files are now cleared when "update_system_recent_files" is disabled
- Mac: Fixed Copy as HTML not working
- Mac: Fixed subl not always finding the correct application bundle
- Mac: Fixed "regex_auto_escape" not working
New in Sublime Text 4 Build 4165 Dev (Nov 15, 2023)
- Fixed regression with edit_settings command
- API: Reverted changes to on_query_completions
New in Sublime Text 4 Build 4162 Dev (Nov 8, 2023)
- Fixed an issue where animations were causing excessive redraws
- Fixed some symbols being omitted from index
- Fixed crash when switching projects before index was initialized
- Added "ruler_width" setting
- Fixed color emoji blending with transparency
- Fixed line-number alignment when using a variable-width font
- Fixed run_syntax_tests command not running symbol tests
- API: Removed delay when querying auto-complete during an ongoing query
- API: Improved performance of View.substr
- API: sublime_plugin.ListInputHandler now supports initial_selection
- Windows: Added CRLF handling for text drag an drop
- Windows: Fixed wrong font extents causing glyphs to be cut off at the top
- Windows: Fixed caret movement across phantoms when using fractional scaling
New in Sublime Text 4 Build 4161 Dev (Nov 8, 2023)
- Fixed an issue where animations were causing excessive redraws
- Fixed some symbols being omitted from index
- Fixed crash when switching projects before index was initialized
- Added "ruler_width" setting
- Fixed color emoji blending with transparency
- Fixed line-number alignment when using a variable-width font
- Fixed run_syntax_tests command not running symbol tests
- API: Removed delay when querying auto-complete during an ongoing query
- API: Improved performance of View.substr
- API: sublime_plugin.ListInputHandler now supports initial_selection
- Linux: Improved tracking of fullscreen state
- Windows: Added CRLF handling for text drag an drop
- Windows: Fixed wrong font extents causing glyphs to be cut off at the top
- Windows: Fixed caret movement across phantoms when using fractional scaling
- Mac: Implemented window cascading
- Mac: Recent files are now cleared when "update_system_recent_files" is disabled
New in Sublime Text 4 Build 4160 Dev (Oct 21, 2023)
- Fixed an indexing crash with very long symbol names
- Fixed an indexing race condition
New in Sublime Text 4 Build 4159 Dev (Oct 20, 2023)
- Fixed a crash regression in 4158
- API: Fixed sublime.choose_font_dialog not working in python 3.3 environment
New in Sublime Text 4 Build 4158 Dev (Oct 19, 2023)
- Various syntax highlighting improvements
- Find in files now truncates long lines according to the "find_in_files_context_characters" setting
- Index collation is now done incrementally
- Fixed auto-complete not suggesting tokens from the current line
- Added Copy Path to Sidebar context menu
- Fixed case where opening a file from Sublime Merge wouldn't jump to the right line
- Choose font dialog now has the currently configured font initially selected
- Fixed a number of crashes
- API: Fixed instability related to overlapping API calls
- API: Fixed ListInputHandler not selecting the first result when initial_text is provided
- API: Fixed crash when an edit token is passed to the wrong view
- Linux: Fixed some memory leaks related to fonts
- Linux: Font chooser dialog now only shows font families
New in Sublime Text 4 Build 4157 Dev (Oct 19, 2023)
- Various syntax highlighting improvements
- Find in files now truncates long lines according to the "find_in_files_context_characters" setting
- Index collation is now done incrementally
- Fixed auto-complete not suggesting tokens from the current line
- Added Copy Path to Sidebar context menu
- Fixed case where opening a file from Sublime Merge wouldn't jump to the right line
- Choose font dialog now has the currently configured font initially selected
- Fixed a number of crashes
- API: Fixed instability related to overlapping API calls
- API: Fixed ListInputHandler not selecting the first result when initial_text is provided
- API: Fixed crash when an edit token is passed to the wrong view
- Linux: Fixed some memory leaks related to fonts
- Linux: Font chooser dialog now only shows font families
New in Sublime Text 4 Build 4156 Dev (Sep 18, 2023)
- Added Preferences > Font > Choose… for an easy way to select a font
- Fixed a memory corruption bug related to block carets
- API: Added sublime.choose_font_dialog
- API: Added update_text option to sublime.encode_value
- Linux: Fixed "ui_scale" setting not being applied to fonts correctly in some cases
New in Sublime Text 4 Build 4155 Dev (Aug 24, 2023)
- Improved behavior of Indent command on empty lines
- Improved bookmark toggling
- Fixed an auto-indent issue
- Fixed an issue with find_under_expand when the find panel is focused
- Fixed a number of crashes
- Updated to OpenSSL 1.1.1v
- API: Fixed expand_to_paragraph in paragraph.py incorrectly unpacking tuple
New in Sublime Text 4 Build 4153 Dev (Aug 8, 2023)
- Fixed double clicking a find in file result sometimes scrolling to the wrong line in the file
- Fixed minimap border not rendering
- Added Mouse Bindings to the Preferences menu
- Improved Join Lines behavior
- Improved performance of "Definitions" popup
- Fixed case conversions not taking all-caps into account
- Fixed disabling "highlight_gutter" resulting in "highlight_line" begin disabled
- Fixed some incorrect behavior when converting a multi-line selection to Title Case
- Fixed Quick Switch Project… from the settings window closing the window
- Fixed "move_to_limit_on_up_down" setting not working
- Added current_result command
- Shift+Enter now also hides the incremental find panel
- Fixed macro recording in Vintage package not working
- API: Allow case insensitive comments using TM_COMMENT_CASE_INSENSITIVE
- API: Fixed some issues related to plugin initialization
- Mac: Improved animation frame timing
- Mac: Fixed Copy as HTML not working
- Mac: Fixed subl not always finding the correct application bundle
- Mac: Fixed "regex_auto_escape" not working
New in Sublime Text 4 Build 4152 (Aug 2, 2023)
- Mac: Fixed compatibility with macOS 10.14 and earlier
New in Sublime Text 4 Build 4151 (Aug 2, 2023)
- Various syntax highlighting improvements
- Added "fold_style" setting for controlling syntax-based code folding
- Last tab in a group can now be selected with alt+9 (Windows/Linux) and cmd+9 (Mac)
- Split View retains the original view's viewport position
- Added WebP support
- Improved minimap viewport contrast with large amounts of visible text
- The window title now indicates whether Sublime Text is running with administrator privileges
- Improved indentation detection for files with many single space indents
- Improved caret positioning when using text wrapping
- Fixed files in side-bar not properly reflecting their git status
- Find in Files: Tab multi-select modifier keys are now supported
- Find in Files: Fixed search results not being ordered
- Find in Files: Paths can now be quoted
- Find in Files: Added "find_in_files_suppress_errors" settings
- Find in Files: Added "find_in_files_context_lines" settings
- Find in Files: Added "find_in_files_side_by_side" setting
- Find in Files: Ongoing searches are no longer canceled on renamed buffer
- Find in Files: Fixed ./ not working in the "Where" field
- Find: Added "regex_auto_escape" setting
- Find: Fixed find settings confusion when run immediately after find_under_expand
- Find: Fixed find in selection skipping empty selections
- Fixed word wrap being too early in some cases
- Fixed scrolling by page not always including a full line of context
- Fixed first character beyond ASCII range not being decoded/encoded for short code pages
- Improved performance when drag selecting columns
- Fixed annotations displaying incorrectly when "ui_scale" is set to something other than 1
- Fixed recent file list not being updated when quitting with hot exit disabled
- Fixed high memory usage edge case in minihtml parsing
- Fixed case where open file/folder dialogs didn't respect "default_dir" setting
- Reopen Closed File now uses the window's file history by default rather than global history
- Fixed tabs of deleted files incorrectly showing as modified in some cases
- Fixed "draw_centered" setting causing incorrect gutter rendering in some cases
- Fixed extra commands being included for macros in some situations
- Fixed goto-symbol not showing inside empty groups
- Fixed column number in the status bar not updating upon changing tab width
- Fixed issue where the command palette could consume key presses while not having input focus
- Syntax Highlighting: Improved scope selector performance
- Syntax Highlighting: Fixed syntax-based folding not working correctly with some indented code
- Syntax Highlighting: Fixed syntax definition negative symbol tests
- Syntax Highlighting: Fixed edge case that could break syntax highlighting
- Syntax Highlighting: Fixed backtracking bug where tokens were being dropped
- Syntax Highlighting: Fixed some hangs caused by syntax backtracking
- Syntax Highlighting: Fixed a syntax highlighting performance issue due to backtracking
- Syntax Highlighting: Fixed a crash when a lazy loaded syntax doesn't exist
- API: Updated to Python 3.8.12 and OpenSSL 1.1.1s
- API: The Python 3.3 plugin environment now uses the same OpenSSL as 3.8
- API: Added support for the "context" key in mousemaps
- API: Fixed inconsistent focus after Window.open_file()
- API: The open_file command now supports "transient", "force_group", "clear_to_right" and "force_clone" arguments
- API: Added Window.num_views_in_group()
- API: Added sublime.project_history()
- API: Added sublime.folder_history()
- Windows: Added alt+shift+p as default keybinding for Quick Switch Project
- Windows: Fixed a packaging error with the installers
- Windows: Fixed tooltips sometimes not being removed
- Windows: Fixed select folder dialog not respecting the initial directory
- Windows: Fixed lockup that could occur when menus and popups interfere
- Linux: Files for printing are saved in ~/Downloads if possible to work around snap/flatpak limitations
- Linux: User config and cache paths are now created at startup if not present
- Linux: Fixed incorrect mouse behavior at window edges
- Linux, Mac: Attempt to find the license key for the user when using sudo
- Mac: Better support for running as root
- Mac: Fixed extra window being created when ST is launched by opening a file from finder
- Mac: System setting "click in the scroll bar to" is now respected
- Mac: Added workaround for Monterey bug causing scrolling to misbehave
- Mac: Added security entitlements allowing plugins & build systems to request the camera and microphone
New in Sublime Text 4 Build 4150 Dev (May 11, 2023)
- Fixed regression where syntax highlighting could break
- Fixed drag selecting columns not respecting line padding
- Fixed soft warp regression
New in Sublime Text 4 Build 4149 Dev (May 4, 2023)
- Various syntax highlighting improvements
- Find in Files now supports quoting paths
- Fixed minimap viewport opacity attribute not being respected
- Fixed edge case that could break syntax highlighting
- Added "find_in_files_suppress_errors" and "find_in_files_context_lines" settings
- Fixed "draw_centered" setting causing incorrect gutter rendering in some cases
- Fixed scrolling by page not always including a full line of context
- Fixed recent file list not being updated when quitting with hot exit disabled
- Improved performance when drag selecting columns
- Fixed find in selection skipping empty selections
- Improved caret positioning when using text wrapping
- Fixed column number in the status bar not updating upon changing tab width
- Fixed empty scope selectors not matching correctly
- Fixed high memory usage edge case in minihtml parsing
- API: Added support for the "context" key in mousemaps
- API: The open_file command now supports "transient", "force_group", "clear_to_right" and "force_clone" arguments
- Linux: Files for printing are saved in ~/Downloads if possible to work around snap/flatpak limitations
- Linux: User config and cache paths are now created at startup if not present
- Mac: System setting "click in the scroll bar to" is now respected
- Windows: Added alt+shift+p as default keybinding for Quick Switch Project
- Windows: Fixed tooltips sometimes not being removed
- Windows: Fixed select folder dialog not respecting the initial directory
New in Sublime Text 4 Build 4148 Dev (Mar 14, 2023)
- Various syntax highlighting improvements
- Last tab in a group can now be selected with alt+9 (Windows/Linux) and cmd+9 (Mac)
- Split View retains the original view's viewport position
- The window title now indicates whether Sublime Text is running with administrator privileges
- Improved indentation detection for files with many single space indents
- Fixed first character beyond ASCII range not being decoded/encoded for short code pages
- Find in Files no longer cancels ongoing search with a renamed buffer
- Fixed regression where ./ wouldn't work in the "Where" field of find-in-files
- Fixed find settings confusion when run immediately after find_under_expand
- Fixed minimap viewport highlighting not working when color schemes specify a text background
- Reopen Closed File now uses the window's file history by default rather than global history
- Fixed annotations displaying incorrectly when "ui_scale" is set to something other than 1
- Fixed issue where the command palette could consume key presses while not having input focus
- Fixed syntax-based folding not working correctly with some indented code
- Fixed backtracking bug where tokens were being dropped
- Fixed some hangs caused by syntax backtracking
- Fixed tabs of deleted files incorrectly showing as modified in some cases
- Fixed word wrap wrapping early in some cases
- API: Added Window.num_views_in_group
- API: Fixed inconsistent focus after Window.open_file
- Mac: Better support for running as root
- Mac: Added workaround for Monterey bug causing scrolling to misbehave
- Linux: Fixed incorrect mouse behavior at window edges
- Linux, Mac: Attempt to find the license key for the user when using sudo
New in Sublime Text 4 Build 4147 Dev (Dec 22, 2022)
- Improved minimap viewport contrast with large amounts of visible text
- Fixed issues related to windows file descriptors with python 3.3 plugins
- Fixed crash regression with find-in-files when an invalid regex is used
- Fixed regression with tab ordering
- Fixed goto-symbol not showing inside empty groups
- Fixed extra commands being included for macros in some situations
- Fixed syntax definition negative symbol tests
New in Sublime Text 4 Build 4146 Dev (Dec 15, 2022)
- Fixed a crash when a lazy loaded syntax doesn't exist
- Windows: Fixed a packaging error with the installers
New in Sublime Text 4 Build 4145 Dev (Dec 14, 2022)
- Added "fold_style" setting, making it easy to disable syntax-based code folding
- Fixed search results not being ordered for Find in Files
- Find in Files now supports tab multi-select modifier keys
- Added "find_in_files_side_by_side" setting
- Added "regex_auto_escape" setting
- Fixed case where open file/folder dialogs didn't respect "default_dir" setting
- Fixed files in side-bar not properly reflecting their git status
- Fixed syntax highlighting performance issue due to backtracking
- Fixed a performance regression in 4142 on color schemes with very complex selectors
- Folded regions no longer include the trailing newline by default
- Fixed selection jumping when clicking on a fold marker
- API: Updated to Python 3.8.12 and OpenSSL 1.1.1s
- API: The Python 3.3 plugin environment now uses the same OpenSSL as 3.8
- API: Added sublime.project_history() function
- API: Added sublime.folder_history() function
- Windows: Fixed lockup that could occur when menus and popups interfere
- Mac: Fixed extra window being created when ST is launched by opening a file from finder
- Mac: Added security entitlements allowing plugins & build systems to request the camera and microphone
New in Sublime Text 4 Build 4143 (Nov 11, 2022)
- Fixed a performance regression in 4142 on color schemes with very complex selectors
- Folded regions no longer include the trailing newline by default
- Fixed selection jumping when clicking on a fold marker
New in Sublime Text 4 Build 4142 (Nov 11, 2022)
- Added syntax-based code folding
- Various syntax highlighting improvements
- Newly rewritten Haskell syntax highlighting thanks to deathaxe
- The recent file list is now global instead of per window
- Files opened in Sublime Text are now added to the system recent file list (See the "update_system_recent_files" setting)
- Added commands for converting between common identifier cases (See Edit > Convert Case)
- Added "hot_exit_projects" setting to control what data gets saved in workspace files
- Added "minimap_horizontal_scrolling" setting
- Added "open_tabs_after_current" setting for controlling where tabs are opened
- Added "show_spelling_errors" and "show_line_column" settings
- Added "goto_anything_exclude_gitignore" setting
- Added "ruler_style" setting
- Reworked comment toggling to better handle embedded languages
- Sub-word separators are now configurable using the "sub_word_separators" setting
- Added support for Nordic (Windows 865) encoding
- Reopening a file now asks for confirmation when there are unsaved changes
- Improved filesystem symbolic link detection
- Improved performance while open folders are scanned for the side-bar
- Improved regex performance for syntax highlighting
- Find: Patterns taken from an open file are now escaped for regex searches
- Find in Files: Improved binary file detection for find-in-files
- Find in Files: Find-in-files now supports project-relative patterns starting with //
- Find in Files: Added the "find_in_files_max_file_size" setting
- Syntax Highlighting: Context backtraces now link to their origin in sublime-syntax files
- Syntax Highlighting: Fixed crash caused by starting a branch point at the end of a line
- Syntax Highlighting: Fixed various syntax highlighting bugs related to backtracking
- Rendering: Improved performance with large folded regions
- Rendering: Fixed OpenGL issue related to the wrong context being active
- Rendering: Fixed shadow related OpenGL rendering bug
- Rendering: Fixed region rendering edge case
- Rendering: Improved performance in files with large diffs
- Rendering: Fixed various issues with faded labels in the sidebar
- Rendering: Fixed text annotation underlines not drawing when combined with other font styles
- Sort Lines no longer includes the newline at EOF when nothing is selected
- Fixed very large unsaved files being lost on hot exit; a prompt is now shown to save them
- Fixed extraneous window getting created at startup with hot exit disabled
- Fixed case where multiple reload prompts could show simultaneously
- Drag operations are no longer interrupted when reloading a file
- Fixed case where text in command palette was incorrectly colored
- Fixed side bar button theming issue in the Default theme
- Fixed sometimes not being able to type a space after completing a snippet
- Fixed wrong default extension being used in open file dialog
- Fixed centered views jumping in some cases when whole content is replaced
- Fixed scroll jumping when folding
- Fixed Reveal in Side Bar not working in some cases
- Fixed scroll bar sometimes showing when text is wrapped
- Fixed sheets not being added to the current selection in some cases
- Added missing theming attributes to update dialog
- Linux: System scroll bar overlay settings are now followed
- Linux: Fixed various issues caused by the C locale
- Linux: Added safeguard around nested GTK main loops possibly causing data loss
- Linux: Fixed case where dragging a tab to a window wasn't working
- Linux: Fixed crash on startup for some desktop environments
- Linux: Fixed not being able to grab the scrollbar in a maximized window when at the right edge of the screen
- Windows: Adjusted for the new Windows 11 window border
- Windows: Open Containing Folder and similar now respect file explorer replacements
- Windows: Fixed GDI font glow glyph positioning
- Mac: Fixed license being removed due to network MAC address changing
- Mac: Fixed cursor getting stuck as a resize handle on Ventura
- Mac: Recent files are now available without having a window open
- Mac: Fixed various issues with the quick switch project dialog
- Mac: Fixed issue where dialogs could be triggered during dialogs
- Mac: Fixed case when opening an already open file would jump to the start
- Mac: Added work around for broken modal loops
- Mac: Fixed case where settings window couldn't be closed
- Mac: Fixed open file dialog crash with some syntaxes
- Mac: Fixed scrolling when command modifier key is pressed
- Mac: Fixed Window/New Tab not working with the Adaptive theme
- API: Added buffer variable to the console
- API: A noop command can now be used for keybindings to block default behavior
- API: "encoded_position": true may be passed to open_file command for the same behavior as sublime.ENCODED_POSITION
- API: View.context_backtrace can be used to get a stack trace from syntax highlighting
- API: View.expand_to_scope now returns None when the text point doesn't match the selector
- API: Added View.expand_to_scope
- API: Added Window.promote_sheet
- API: Fixed crash when running hide_panel command from EventListener.on_deactivated
- API: The toggle_comment command can now take a variant argument for languages with multiple comment variants
New in Sublime Text 4 Build 4142 Dev (Nov 10, 2022)
- Added syntax-based code folding
- Various syntax highlighting improvements
- Newly rewritten Haskell syntax highlighting thanks to deathaxe
- The recent file list is now global instead of per window
- Files opened in Sublime Text are now added to the system recent file list (See the "update_system_recent_files" setting)
- Added commands for converting between common identifier cases (See Edit > Convert Case)
- Added "hot_exit_projects" setting to control what data gets saved in workspace files
- Added "minimap_horizontal_scrolling" setting
- Added "open_tabs_after_current" setting for controlling where tabs are opened
- Added "show_spelling_errors" and "show_line_column" settings
- Added "goto_anything_exclude_gitignore" setting
- Added "ruler_style" setting
- Reworked comment toggling to better handle embedded languages
- Sub-word separators are now configurable using the "sub_word_separators" setting
- Added support for Nordic (Windows 865) encoding
- Reopening a file now asks for confirmation when there are unsaved changes
- Improved filesystem symbolic link detection
- Improved performance while open folders are scanned for the side-bar
- Improved regex performance for syntax highlighting
- Find: Patterns taken from an open file are now escaped for regex searches
- Find in Files: Improved binary file detection for find-in-files
- Find in Files: Find-in-files now supports project-relative patterns starting with //
- Find in Files: Added the "find_in_files_max_file_size" setting
- Syntax Highlighting: Context backtraces now link to their origin in sublime-syntax files
- Syntax Highlighting: Fixed crash caused by starting a branch point at the end of a line
- Syntax Highlighting: Fixed various syntax highlighting bugs related to backtracking
- Rendering: Improved performance with large folded regions
- Rendering: Fixed OpenGL issue related to the wrong context being active
- Rendering: Fixed shadow related OpenGL rendering bug
- Rendering: Fixed region rendering edge case
- Rendering: Improved performance in files with large diffs
- Rendering: Fixed various issues with faded labels in the sidebar
- Rendering: Fixed text annotation underlines not drawing when combined with other font styles
- Sort Lines no longer includes the newline at EOF when nothing is selected
- Fixed very large unsaved files being lost on hot exit; a prompt is now shown to save them
- Fixed extraneous window getting created at startup with hot exit disabled
- Fixed case where multiple reload prompts could show simultaneously
- Drag operations are no longer interrupted when reloading a file
- Fixed case where text in command palette was incorrectly colored
- Fixed side bar button theming issue in the Default theme
- Fixed sometimes not being able to type a space after completing a snippet
- Fixed wrong default extension being used in open file dialog
- Fixed centered views jumping in some cases when whole content is replaced
- Fixed scroll jumping when folding
- Fixed Reveal in Side Bar not working in some cases
- Fixed scroll bar sometimes showing when text is wrapped
- Fixed sheets not being added to the current selection in some cases
- Added missing theming attributes to update dialog
- Linux: System scroll bar overlay settings are now followed
- Linux: Fixed various issues caused by the C locale
- Linux: Added safeguard around nested GTK main loops possibly causing data loss
- Linux: Fixed case where dragging a tab to a window wasn't working
- Linux: Fixed crash on startup for some desktop environments
- Linux: Fixed not being able to grab the scrollbar in a maximized window when at the right edge of the screen
- Windows: Adjusted for the new Windows 11 window border
- Windows: Open Containing Folder and similar now respect file explorer replacements
- Windows: Fixed GDI font glow glyph positioning
- Mac: Fixed license being removed due to network MAC address changing
- Mac: Fixed cursor getting stuck as a resize handle on Ventura
- Mac: Recent files are now available without having a window open
- Mac: Fixed various issues with the quick switch project dialog
- Mac: Fixed issue where dialogs could be triggered during dialogs
- Mac: Fixed case when opening an already open file would jump to the start
- Mac: Added work around for broken modal loops
- Mac: Fixed case where settings window couldn't be closed
- Mac: Fixed open file dialog crash with some syntaxes
- Mac: Fixed scrolling when command modifier key is pressed
- Mac: Fixed Window/New Tab not working with the Adaptive theme
- API: Added buffer variable to the console
- API: A noop command can now be used for keybindings to block default behavior
- API: "encoded_position": true may be passed to open_file command for the same behavior as sublime.ENCODED_POSITION
- API: View.context_backtrace can be used to get a stack trace from syntax highlighting
- API: View.expand_to_scope now returns None when the text point doesn't match the selector
- API: Added View.expand_to_scope
- API: Added Window.promote_sheet
- API: Fixed crash when running hide_panel command from EventListener.on_deactivated
- API: The toggle_comment command can now take a variant argument for languages with multiple comment variants
New in Sublime Text 4 Build 4141 Dev (Nov 6, 2022)
- Fixed scroll jumping when folded regions are at the start of lines
- Fixed Replace regression in 4139
- Windows: Fixed menu items sometimes having the wrong size
- Mac: Fixed Window/New Tab not working with the Adaptive theme
New in Sublime Text 4 Build 4140 Dev (Nov 1, 2022)
- Various syntax highlighting improvements
- Mac: Fixed cursor getting stuck as a resize handle on Ventura
- Linux: Fixed a "ui_scale" regression in 4139
New in Sublime Text 4 Build 4139 Dev (Oct 28, 2022)
- Fixed folder drag & drop not working in the side bar
- Fixed fold tag not rendering in some rare cases
- Fixed case where text in command palette was incorrectly colored
- Fixed scroll jumping when folding by level
- Removed trailing comma in status bar when "show_line_column" is disabled
- Fixed side bar button theming issue in the Default theme
- Linux: Fixed external pastes being confused for internal ones
- Mac: Recent files are now available without having a window open
New in Sublime Text 4 Build 4138 Dev (Oct 17, 2022)
- Added buffer variable to the console
- Added "show_spell_check" and "show_line_column" settings
- Sort Lines no longer includes the newline at EOF when nothing is selected
- Fixed fold-by-level not always folding the correct regions
- Fixed scope-based folding not always overriding indentation-based folding
- Fixed sometimes not being able to type a space after completing a snippet
- Fixed date format in about window
New in Sublime Text 4 Build 4137 Dev (Sep 23, 2022)
- Linux: Fixed a copy + paste regression
- Linux and Mac: Fixed zombie processes while indexing
- Windows: Fixed installer not including sublime_plugin.py
New in Sublime Text 4 Build 4136 Dev (Sep 15, 2022)
- Improved rendering performance with large folded regions
- Improved performance while open folders are scanned for the side-bar
- Improved regex performance for syntax highlighting
- Added "minimap_horizontal_scrolling" setting
- Added "hot_exit_projects" setting to control what data gets saved in workspace files
- Find-in-files now supports project-relative patterns starting with //
- Fixed code folding performance regression
- Fixed Reveal in Side Bar not working in some cases
- Fixed crash when quick switching projects
- Fixed sheets not being added to the current selection in some cases
- API: Added Window.promote_sheet
- Linux: Added safeguard around nested GTK main loops possibly causing data loss
- Linux: Fixed case where dragging a tab to a window wasn't working
- Mac: Fixed license being removed due to MAC address changing
- Mac: Fixed case when opening an already open file would jump to the start
- Mac: Fixed scrolling when command modifier key is pressed
- Windows: Open Containing Folder and similar now respect file explorer replacements
- Windows: Fixed GDI font glow glyph positioning
- Windows: Adjusted for the new Windows 11 window border
New in Sublime Text 4 Build 4135 Dev (Sep 15, 2022)
- Improved resource utilization during indexing
- Improved rendering performance with large folded regions
- Improved performance while open folders are scanned for the side-bar
- Improved regex performance for syntax highlighting
- Added "minimap_horizontal_scrolling" setting
- Added "hot_exit_projects" setting to control what data gets saved in workspace files
- Find-in-files now supports project-relative patterns starting with //
- Fixed code folding performance regression
- Fixed Reveal in Side Bar not working in some cases
- Fixed crash when quick switching projects
- Fixed sheets not being added to the current selection in some cases
- API: Added Window.promote_sheet
- Linux: Added safeguard around nested GTK main loops possibly causing data loss
- Linux: Fixed case where dragging a tab to a window wasn't working
- Mac: Fixed license being removed due to MAC address changing
- Mac: Fixed case when opening an already open file would jump to the start
- Mac: Fixed scrolling when command modifier key is pressed
- Windows: Open Containing Folder and similar now respect file explorer replacements
- Windows: Fixed GDI font glow glyph positioning
- Windows: Adjusted for the new Windows 11 window border
New in Sublime Text 4 Build 4134 Dev (May 28, 2022)
- Various syntax highlighting improvements
- Built-in syntax definitions now have specialized scope-based folding rules instead of using generic ones
- Scope-based folding regions starting with a newline token now include the newline itself
- Added option for scope-based folding to exclude trailing newlines in fold regions
- Fixed regression in fold-by-level behavior
- A noop command can now be used for keybindings to block default behavior
- Added the find_in_files_max_file_size setting
- Added the ruler_style setting
- Fixed single-line comment toggling regression when syntax has no line comments
- Fixed HTML sheet styling regression
- Fixed rendering performance issue in files with large diffs
- API: Fixed crash when running hide_panel command from EventListener.on_deactivated
- API: Fixed view.expand_to_scope stopping at phantoms
- macOS: Fixed various issues with the quick switch project dialog
- macOS: Fixed issue where dialogs could be triggered during dialogs
New in Sublime Text 4 Build 4133 Dev (May 27, 2022)
- Various syntax highlighting improvements
- Built-in syntax definitions now have specialized scope-based folding rules instead of using generic ones
- Scope-based folding regions starting with a newline token now include the newline itself
- Added option for scope-based folding to exclude trailing newlines in fold regions
- Fixed regression in fold-by-level behavior
- A noop command can now be used for keybindings to block default behavior
- Added the find_in_files_max_file_size setting
- Added the ruler_style setting
- Fixed single-line comment toggling regression when syntax has no line comments
- Fixed HTML sheet styling regression
- Fixed rendering performance issue in files with large diffs
- API: Fixed crash when running hide_panel command from EventListener.on_deactivated
- API: Fixed view.expand_to_scope stopping at phantoms
- macOS: fn is now a supported modifier
- macOS: fn+e now correctly opens the emoji picker
- macOS: Fixed various issues with the quick switch project dialog
- macOS: Fixed issue where dialogs could be triggered during dialogs
New in Sublime Text 4 Build 4132 Dev (May 27, 2022)
- Various syntax highlighting improvements
- Built-in syntax definitions now have specialized scope-based folding rules instead of using generic ones
- Scope-based folding regions starting with a newline token now include the newline itself
- Added option for scope-based folding to exclude trailing newlines in fold regions
- Fixed regression in fold-by-level behavior
- A noop command can now be used for keybindings to block default behavior
- Added the find_in_files_max_file_size setting
- Added the ruler_style setting
- Fixed single-line comment toggling regression when syntax has no line comments
- Fixed HTML sheet styling regression
- Fixed rendering performance issue in files with large diffs
- API: Fixed crash when running hide_panel command from EventListener.on_deactivated
- API: Fixed view.expand_to_scope stopping at phantoms
- macOS: fn is now a supported modifier
- macOS: fn+e now correctly opens the emoji picker
- macOS: Fixed various issues with the quick switch project dialog
- macOS: Fixed issue where dialogs could be triggered during dialogs
New in Sublime Text 4 Build 4131 Dev (Mar 25, 2022)
- Generic fold scopes have now been configured
- Fixed successive fold calls not working in some cases
- Fixed gitignore toggle for find-in-files not being respected
- API: View.expand_to_scope now returns None when the text point doesn't match the selector
- API: Fixed regression in Selection.subtract
New in Sublime Text 4 Build 4130 Dev (Mar 23, 2022)
- Added syntax-based code folding
- Find patterns taken from an open file are now escaped for regex searches
- Find-in-files now works in parallel
- Reworked comment toggling to better handle embedded languages
- Fixed various comment toggling edge cases
- Added setting "goto_anything_exclude_gitignore"
- Various syntax definition updates
- Newly rewritten Haskell syntax highlighting thanks to deathaxe
- Sub-word separators are now configurable using the "sub_word_separators" setting
- Fixed centered views jumping in some cases when whole content is replaced
- Added missing theming attributes to update dialog
- Fixed wrong default extension being used in open file dialog
- Fixed additional window getting created at startup with hot exit disabled
- Syntax Highlighting: Context backtraces now show files names for tmLanguage-based syntaxes
- Syntax Highlighting: Fixed various syntax highlighting bugs related to backtracking
- API: The toggle_comment command can now take a variant argument for languages with multiple comment variants
- API: Added View.expand_to_scope
- macOS: Added work around for broken modal loops
New in Sublime Text 4 Build 4129 Dev (Feb 24, 2022)
- Fixed a selection rendering regression in 4128
New in Sublime Text 4 Build 4128 Dev (Feb 22, 2022)
- Added commands for converting between common identifier cases (See Edit > Convert Case)
- Added support for Nordic (Windows 865) encoding
- Fixed various issues with faded labels in the sidebar
- Fixed scroll bar sometimes showing when text is wrapped
- Reopening a file now asks for confirmation when there are unsaved changes
- Fixed source mapping for inheritance in syntax backtraces
- Mac: Fixed open file dialog crash with some syntaxes
- Mac: Fixed case where settings window couldn't be closed
- Linux: Fixed crash on startup for some desktop environments
New in Sublime Text 4 Build 4127 Dev (Feb 11, 2022)
- The recent file list is now global instead of per window
- Files opened in Sublime Text are now added to the system recent file list (see the "update_system_recent_files" setting)
- Improved filesystem symlink detection
- Fixed changes to very large unsaved files being lost on hot exit; a prompt is now shown to save them
- Drag operations are no longer interrupted when reloading a file
- Fixed regression in expand_selection_to_paragraph command behavior
- Fine tuned binary file detection for find-in-files
- Fixed text annotation underlines not drawing when combined with other font styles
- Fixed region rendering edge case
- Fixed case where multiple reload prompts could show simultaneously
- Added "open_tabs_after_current" setting for controlling where tabs are opened
- Fixed shadow related OpenGL rendering bug
- Fixed OpenGL rendering issue related to the wrong context being active
- Fixed dragging rows in side-bar not scrolling
- Syntax Highlighting: Context backtraces now link to their origin in sublime-syntax files
- Syntax Highlighting: Fixed crash caused by starting a branch point at the end of a line
- API: View.context_backtrace now returns a list of ContextStackFrame with source file and location data
- API: "encoded_position": true may be passed to open_file command for the same behavior as sublime.ENCODED_POSITION
- Linux: Follow system scroll bar overlay setting
- Linux: Fix various issues caused by the C locale
New in Sublime Text 4 Build 4126 (Dec 21, 2021)
- Improved OpenGL rendering performance by automatically batching together controls
- Added support for Chinese standard GB18030 file encoding
- Added support for CP862 file encoding
- Resolved various issues tracking symlinks in the side-bar
- Avoid session data corruption if a crash happens while saving the session
- subl -n will reuse an existing empty window if the application isn't running
- Binary files now show as "Binary" syntax instead of "Plain Text" in the status bar
- Fixed wildcards incorrectly matching subpaths (For settings like "folder_exclude_patterns")
- Made "find_in_files_max_result_size" not apply when replacing
- Fixed crash when loading invalid grid layout from session
- Fixed spell checker incorrectly marking some words as correct if they can't be encoded
- Fixed rendering order of successive popups
- Fixed package subfolders sometimes not being loaded when matching the "ignored_packages" setting
- Fixed layout instability in side bar causing things to occasionally be rendered 1 pixel off
- Added some missing glyphs to "draw_unicode_white_space": "all"
- Added "draw_unicode_bidi" setting for drawing unicode bidi characters
- Added "select_across_groups" setting for opting into the old side bar selection behavior when selecting a single file
- Fixed "close_windows_when_empty" setting not working
- Fixed goto-definition preview not closing on escape
- Fixed quick panel closing on enter when there are no matching entries
- Syntax Highlighting: Fixed backtracking breaking when creating phantoms or doing a context backtrace
- Syntax Highlighting: Fixed regression with some syntax definitions introduced in 4115
- Linux: Added missing libcurl dependency for package managers
- Linux: Fixed GTK overriding LC_NUMERIC environment variable breaking serialization
- Windows: Fixed command line not taking focus after closing a waited on file
- Windows: Fixed crash when OpenGL initialization fails
- Mac: Aliases are now resolved when using drag and drop
- Mac: Fixed window sometimes being restored on startup when "create_window_at_startup" is disabled
- Mac: Fixed native tabs restoration resulting in odd behavior
- Mac: Fixed subl -b not working
- Mac: Fixed terminal not being focused after waiting on file
- Mac: Fixed Window > Merge All Windows merging minimized windows
- Mac: Fixed various inconsistencies when opening files from finder
- API: The show_panel command for the find and find in files panels can now take "pattern" and "replace_pattern" arguments
- API: ListInputHandler.preview is now called with None when no items match the current filter
- API: Fixed case where Window.project_data() could return an invalid value
- API: Opening a new pane moves currently selected sheets
- API: Added Window.move_sheets_to_group
- API: The commands move_to and move_to_neighbouring now move currently selected sheets
New in Sublime Text 4 Build 4125 Dev (Dec 17, 2021)
- Improved OpenGL rendering performance by automatically batching together controls
- Fixed crash when loading invalid grid layout from session
- Fixed spell checker incorrectly marking some words as correct if they can't be encoded
- Fixed various edge cases related to phantoms
- Fixed rendering order of successive popups
New in Sublime Text 4 Build 4124 Dev (Dec 9, 2021)
- Added GB18030 and CP862 to status bar encoding menu
- Made "find_in_files_max_result_size" not apply when replacing
- Fixed text phantom rendering regression
- Fixed phantom-related crash
New in Sublime Text 4 Build 4123 Dev (Dec 7, 2021)
- Added support for Chinese standard GB18030 encoding
- Binary files now show as "Binary" syntax instead of "Plain Text" in the status bar
- Resolved various issues tracking symlinks in the side-bar
- Avoid session data corruption if a crash happens while saving the session
- Syntax Highlighting: Fixed backtracking breaking when creating phantoms or doing a context backtrace
- Syntax Highlighting: Fixed regression with some syntax definitions introduced in 4115
- Fixes package subfolders sometimes not being loaded when matching the "ignored_packages" setting
- Fixed wildcards incorrectly matching subpaths (For settings like "folder_exclude_patterns")
- Fixed layout instability in side bar causing things to occasionally be rendered 1 pixel off
- Added some missing glyphs to "draw_unicode_white_space": "all"
- Linux: Added missing libcurl dependency for package managers
- Linux: Fixed GTK overriding LC_NUMERIC breaking serialization
- Mac: Aliases are now resolved when using drag and drop
- Mac: Fixed window sometimes being restored on startup when "create_window_at_startup" is disabled
- API: The show_panel command for the find and find in files panels can now take "pattern" and "replace_pattern" arguments
New in Sublime Text 4 Build 4122 Dev (Nov 3, 2021)
- Added support for CP862 file encoding
- subl -n will reuse an existing empty window if the application isn't running
- Added "draw_unicode_bidi" setting for drawing unicode bidi characters
- Added "select_across_groups" setting for opting into the old side bar selection behavior when selecting a single file
- Fixed "close_windows_when_empty" setting not working
- Fixed goto-definition preview not closing on escape
- Fixed quick panel closing on enter when there are no matching entries
- API: ListInputHandler.preview is now called with None when no items match the current filter
- API: Fixed case where Window.project_data() could return an invalid value
- Windows: Fixed command line not taking focus after closing a waited on file
- Windows: Fixed crash when OpenGL initialization fails
- Mac: Fixed native tabs restoration resulting in odd behavior
- Mac: Fixed subl -b not working
- Mac: Fixed terminal not being focused after waiting on file
- Mac: Fixed Window > Merge All Windows merging minimized windows
- Mac: Fixed various inconsistencies when opening files from finder
New in Sublime Text 4 Build 4121 (Oct 26, 2021)
- New update dialog that shows versions, license status and links to the changelog
- Various syntax highlighting improvements
- Use goto-symbol to jump to specific files in find results
- Improved color scheme/theme selection UI
- Layout is no longer remembered when "hot_exit" is disabled. You can change this using "remember_layout"
- Right-delete now respects "use_tab_stops" setting
- Various improvements to behavior of moving sheets during window layout changes
- Improved mini-diff and white space rendering performance under OpenGL
- Improved performance when reading large files from stdin
- Fixed regex replace not working on last occurrence when using look-behind
- Fixed "save_on_focus_lost" not working as expected with the reload dialog
- Fixed open files not being added to recent file list when "hot_exit" is disabled
- Fixed snippet completions not respecting word boundaries
- Fixed extra blank window being opened at startup in some cases
- Fixed not properly exiting after a prompt when "hot_exit" is disabled
- Fixed window unexpectedly closing when project has no added folders and "close_windows_when_empty" is enabled
- Fixed tab selection stack not being updated as expected in some cases
- Fixed transient sheets persisting when exiting goto-anything
- Fixed squiggle underline width not scaling properly
- Fixed line highlighting not working when gutter is disabled
- Fixed case where folders were being added to existing windows instead of opening in a new window
- Fixed performance regression under Windows with non-integer DPI scaling
- Fixed syntax highlighting backtracking-related performance problem
- Undo stack is now cleared when reading from stdin
- Added Selection > Expand Selection to Block which has the same behavior as Expand Selection to Paragraph had previously
- "open_files_in_new_window" is now respected when reading from stdin
- Added "find_scroll_highlights_limit", "find_highlight_matches_max_size" and "find_regex_highlight_matches_max_size" settings to allow configuring find limits
- Added newline detection and normalization when changing settings programmatically
- Sublime Merge menu items are hidden when "sublime_merge_path" is set to null
- Fixed wrong path sometimes being used when viewing file history in Sublime Merge
- Fixed focus lost when selected group is closed whilst reducing the number of groups
- File-specific indentation settings are now persisted across restarts
- Fixed some edge cases related to "find_in_files_max_result_size"
- Fixed completions in input panel not utilizing available window space
- Fixed expand selection to tag not working in XML
- Fixed current transient sheet unexpectedly closing when using goto-anything
- Fixed crash related to syntax backtracking and phantoms
- Fixed being unable to open more than one new empty window
- Linux: Make selection after middle-click paste consistent with other applications
- Linux: Fixed race condition with multiple simultaneous command line invocations
- Linux: Fixed custom title bar label color for some GTK themes
- Windows: Fixed a case where session could be lost when upgrading
- Windows: Fixed NTFS alternate data streams being deleted on save
- Windows: Fixed slow window creation when using OpenGL
- Windows: Fixed incorrect case being used when opening files from find-in-files with gitignore enabled
- Windows: Fixed stdout/stderr output data race when building
- Windows: Fixed hang on modal dialogs when context menu is open
- Mac: Tweaked text drag-drop behavior to respect NSDragAndDropTextDelay
- Mac: The setting "use_find_clipboard" can be used to disable global find clipboard integration
- Mac: Fixed double click not working at the top of a window when in full screen with a custom title bar
- Mac: Fixed incorrectly reporting successful key event when no command was found
- Mac: Fixed windows not restoring properly with multi-monitor setups
- Mac: Fixed window layout issue with native tabs when exiting full screen
- Mac: Fixed title bar text not fading when out of focus
- Mac: Fixed reading stdin not working when no windows are open
- API: Fixed plugin popups sometimes having the wrong placement
- API: Fixed plugins not loading when a .python-version file is in the User package
- API: Added Buffer.clear_undo_stack()
- API: Fixed View.show and View.show_at_center not working from on_load callback
New in Sublime Text 4 Build 4120 Dev (Oct 25, 2021)
- Fixed crash related to syntax backtracking and phantoms
- Fixed text drag and drop regression
New in Sublime Text 4 Build 4119 Dev (Oct 22, 2021)
- Fixed wrong line numbers in some cases when code folding is being used
- Mac: Fixed open files not being restored when hot_exit is disables
- Mac: Tweak text drag-drop behavior to respect NSDragAndDropTextDelay
New in Sublime Text 4 Build 4118 Dev (Oct 15, 2021)
- Fixed sequential key binding regression in 4117
New in Sublime Text 4 Build 4117 Dev (Oct 14, 2021)
- Use goto-symbol to jump to specific files in find results
- Improve color scheme/theme selection UI
- File-specific indentation settings are now persisted across restarts
- Fix extra blank window being opened at startup in some cases
- Fix not properly exiting after a prompt when hot_exit is disabled
- Add Selection > Expand Selection to Block which has the same behavior as Expand Selection to Paragraph had previously
- Fix goto-anything and quick-panels closing when window loses focus
- Fix focus lost when selected group is closed whilst reducing the number of groups
- Various improvements to behavior of moving sheets during window layout changes
- Fix some edge cases related to "find_in_files_max_result_size"
- Fix regression where line numbers were not being calculated properly when folding
- API: Fix View.show and View.show_at_center not working from on_load callback in some cases
- macOS: Fix incorrectly reporting successful key event when no command was found
- Windows: Fix stdout/stderr output data race when building
- Windows: Fix hang on modal dialogs when context menu is open
New in Sublime Text 4 Build 4116 Dev (Sep 29, 2021)
- Fix download button in update dialog being clickable when disabled
- Hide Sublime Merge menu items when "sublime_merge_path" is set to `null`.
- MacOS: Fix windows not restoring properly with multi-monitor setups
- MacOS: Fix window layout issue with native tabs when exiting full screen
- Linux: Fix race condition with multiple simultaneous command line invocations
New in Sublime Text 4 Build 4115 Dev (Sep 24, 2021)
- Fix line highlighting applying to all widgets
- Fix caret position regression when drag-selecting text
- Fix syntax highlighting backtracking-related performance problem
- Improve mini-diff rendering performance under OpenGL
- Improve performance when reading large files from stdin
- Undo stack is now cleared when reading from stdin
- Fix performance regression under Windows with non-integer DPI scaling
- Fix current transient sheet unexpectedly closing when using goto-anything
- Fix completions in input panel not utilizing available window space
- Fix expand selection to tag not working in XML
- Fix being unable to open more than one new empty window
- Mac: The setting "use_find_clipboard" can be used to disable global find clipboard integration
- Mac: Fix double click not working at the top of a window when in full screen with a custom title bar
New in Sublime Text 4 Build 4114 Dev (Sep 3, 2021)
- New update dialog that shows versions, license status and links to the changelog
- Various syntax highlighting improvements
- Right-delete now respects use_tab_stops setting
- Improved hardware acceleration performance when rendering white space
- Added find_scroll_highlights_limit, find_highlight_matches_max_size and find_regex_highlight_matches_max_size settings to allow configuring find limits
- Added newline detection and normalization when changing settings programmatically
- Layout is not longer remembered when "hot_exit" is disabled. You can change this using the remember_layout setting
- Fixed tab selection stack not being updated as expected in some cases
- Fixed transient sheets persisting when exiting goto-anything
- Fixed save_on_focus_lost not working as expected with the reload dialog
- Fixed snippet completions not respecting word boundaries
- Fixed open files not being added to recent file list when hot exit is disabled
- Fixed wrong path sometimes being used when viewing file history in Sublime Merge
- Fixed window unexpectedly closing when project has no added folders and close_windows_when_empty is true
- open_files_in_new_window is now respected when reading from stdin
- Fixed regex replace not working on last occurrence when using look-behind
- Fixed plugin popups sometimes having the wrong placement
- Fixed plugins not loading when a .python-version file is in the User package
- Fixed squiggle underline width not scaling properly
- Fixed line highlighting not working when gutter is disabled
- Fixed case where folders were being added to existing windows instead of opening in a new window
- Windows: Fixed a case where session could be lost when upgrading
- Windows: Fixed alternate data streams being deleted on save
- Windows: Fixed slow window creation when using OpenGL
- Windows: Fixed incorrect case being used when opening files from find-in-files with gitignore enabled
- API: Added Buffer.clear_undo_stack()
- API: Fixed View.show and View.show_at_center not working from on_load callback
New in Sublime Text 4 Build 4113 (Jul 14, 2021)
- Improved performance when editing large files
- Improved OpenGL rendering performance
- Improved handling of deleted files
- Various syntax highlighting improvements
- subl can now be used to edit stdin, eg: echo test | subl | cat
- Syntax and indentation detection is now done when editing stdin
- Added syntax_detection_size_limit setting for controlling when syntax detection is skipped
- Theme: Improved scroll puck visibility
- Theme: Fixed adaptive theme not respecting themed_title_bar setting with light color schemes
- Middle clicking in the Open Files section of then sidebar will close the clicked on file
- Preserve Case now works with unicode characters
- Added reveal_menu setting for disabling revealing the menu when alt is pressed on Linux and Windows
- Safe Mode key binding can be disabled by creating a file named .Disable Safe Mode Shortcut in the data directory
- Fixed Ruby syntax highlighting in the Monokai color scheme
- Fixed a scenario where folders weren't being watched for changes
- Fixed underlines being drawn behind line highlight
- Fixed an infinite loop that could occur during syntax highlighting
- Fixed the append command's scroll_to_end parameter sometimes not working
- Fixed Goto Symbol sometimes being scrolled incorrectly
- Fixed multi-select file limit applying to sidebar
- Fixed auto-complete related hang in some large files
- Linux: Fixed print sometimes not working
- Linux: Fixed wrong order of yes/no buttons in GTK dialogs
- Linux: Fixed letters sometimes being cut off
- Windows: Always make a new window when launching main executable on Windows
- Windows: Fixed window icon not scaling properly on Windows
- Windows: Fixed globs not being expanded in some cases on Windows
New in Sublime Text 4 Build 4112 Dev (Jul 14, 2021)
- Windows: Fixed a rendering quality regression in 4111
New in Sublime Text 4 Build 4111 Dev (Jul 12, 2021)
- Fixed an infinite loop that could occur during syntax highlighting
New in Sublime Text 4 Build 4110 Dev (Jul 5, 2021)
- Further OpenGL rendering performance improvements
- Added syntax_detection_size_limit setting for controlling when syntax detection is skipped
- Preserve Case now works with unicode characters
- Middle clicking in the Open Files section of then sidebar will close the clicked on file
- Fixed scenario where folders weren't being watched for changes
- Fixed underlines being drawn behind line highlight
- Mac: Fixed glyph rendering regression
- Linux: Fixed letters sometimes being cut off
New in Sublime Text 4 Build 4107 (May 21, 2021)
- Release Highlights:
- Multi-select tabs to view them side-by-side
- Context-aware auto complete by finding similar code elsewhere in the current project
- Symbols have kind information that is shown for completions and navigation
- Theme can follow system dark mode preference and title bars can be themed on all platforms
- Syntax highlighting now supports back-tracking and inheritance
- Many syntax highlighting improvements as well as builtin TypeScript, JSX and TSX support
- GPU rendering for improved performance. Enabled by default on macOS
- ARM64 support for Linux and macOS (Apple Silicon)
- Many plugin API additions particularly to better support plugins like LSP
- Python 3.8 support for plugins
- GPU Rendering:
- New hardware_acceleration setting will composite the UI on the GPU
- By default, GPU rendering is enabled on Mac, and disabled on Windows and Linux
- Details about the active GPU will be displayed in the Console
- Context-aware Auto Complete:
- The auto complete engine now suggests completions based on patterns in existing code
- Uses the entire project as a source, instead of just the current view
- Plugins may specify symbol kind info to be displayed in suggestions list
- Tab Multi-Select:
- Multiple tabs can be selected using ctrl/cmd, their contents will be shown side-by-side
- Selecting multiple files from the sidebar will also preview them simultaneously
- Included themes have a tab connector joining the active sheet and tab when using sheet multi-select
- The sidebar can now select multiple files using alt
- Goto Anything allows opening tabs side-by-side using ctrl/cmd
- The Definition popup has a dedicated button for opening files side-by-side
- Multiple tabs can also be selected from the tab dropdown
- The menu Selection/Tab Selection contains various options for manipulating tab multi-select
- File/New View into File has been replaced by File/Split View using multi-select
- Python 3.8 API:
- Added a Python 3.8 API environment for plugins
- Plugins can choose Python version via .python-version file in plugin folder
- Existing plugins are fully supported via legacy Python 3.3 API
- Many API improvements and additions - see API section for more details
- Goto Symbol:
- Goto Symbol in Project is now significantly faster on huge projects
- Icons are now shown next to symbols, indicating the symbol kind
- Symbols with 3 characters or less are now indexed
- Syntax Definitions:
- Added out of the box support for TypeScript, JSX and TSX - thanks to Thomas Smith
- Added ability to "branch" within syntax definitions, for non-deterministic or multi-line constructs
- Many syntax highlighting improvements, including significant improvements to:
- Erlang, with thanks to deathaxe
- Significantly improved load times, match times and reduced cache size on disk
- embed is now lazy loaded, resulting in much higher performance for syntaxes like markdown
- Added branch and fail for non-deterministic parsing
- Added version: 2 to fix edge cases while retaining backwards compatibility
- Added extends to inherit from another syntax definition. Multiple inheritance is supported, provided all parents have the same base syntax
- Added hidden_extensions
- Allow using pop alongside push/set/embed/branch
- Fixed a performance issue with bounded repeats in regular expressions
- Syntax tests can now assert that reindent is working as expected
- Syntax tests can now assert that symbols are indexed
- Prevent infinite include loops via with_prototype
- Fixed a number of scope related bugs
- Fixed some regex capture related bugs
- Added more information to the Show Scope Name popup
- OS Compatibility:
- The following operating systems are no longer supported as a result of adding Python 3.8:
- OS X 10.7
- OS X 10.8
- Windows XP
- Windows Vista
- Platform Integration:
- Added automatic dark/light theme and color scheme switching, based on OS theme changes
- subl - can now be used to read from stdin on all platforms
- Windows will remember their Virtual Desktop/Space/Workspace, controlled by the remember_workspace setting
- Scroll bars now follow platform conventions when clicking on them. Configurable using Scroll Bar.sublime-mousemap
- Mac: Releases use universal binaries with Apple Silicon support
- Mac: Updated icon to follow macOS 11 style
- Mac: Windows will now stay maximized when using Mac window tabs
- Mac: Fix various issues with the wrong cursor being used
- Linux: ARM64 builds are now available
- Linux: Text drag and drop is now supported
- Linux: Added proper support for Wayland
- Linux: Touch screen events are now handled
- Linux: Better support for copy+paste with other applications that don't support utf8 text
- Linux: Native file dialogs like those for KDE will be used when configured
- Windows: IME preview and multi-select support
- Windows, Linux: Added support for custom title bars
- Windows, Linux: Use vsync for animations instead of a fixed 60hz
- Mac, Linux: Improved compatibility with some keyboard layouts
- Application Behavior:
- Added Safe Mode, to simulate a clean install. Enabled by passing --safe-mode on the command line or holding shift+alt/option at startup on Windows/macOS respectively
- Added Help/Report a Bug to link to our public issue tracker
- Added options to hot_exit setting to control behavior when the last window is closed
- Fixed a possible case where an update loses the current session
- Settings containing a UTF-8 BOM will no longer fail to load
- Added support for previewing TGA and PSD images
- Added close_deleted_files setting to control behavior of session restoration when files have been deleted on disk
- Popup windows now use virtual windows for improved performance
- Improved performance when loading files with very long lines
- Improved rendering performance on very long lines
- Improved performance with large session files
- Data directories have dropped the "3", though if a "3" directory still exists it will be used
- Mac: Quick Switch Project now works without any windows open
- Mac, Linux: The cache and index are now located in the proper location (~/.cache and ~/Library/Caches respectively)
- Auto Complete:
- Typing the full tab trigger of a snippet will move it to the top of the results
- Manually typing in the only available completion will hide the auto complete popup
- .sublime-completion files can now specify annotation, kind and details
- Ranking quality improvements
- Improved behavior of completions starting with non-word characters
- auto_complete_trailing_symbols is now disabled by default
- cancelCompletion will no longer prevent manual invocation
- Added the auto_complete_when_likely setting
- Added auto_complete_preserve_order setting
- Added auto_complete_include_snippets_when_typing setting
- Added auto_complete_use_index setting
- Added auto_complete_use_history setting to control if previous choices are automatically selected
- Running the auto_complete command when auto complete is already showing will re-query plugins for results
- auto_complete_selector now applies to the position before the just-typed in character, matching auto_complete_triggers
- Input Handling:
- Modifier key taps can now be used as part of a key binding. For example, ["ctrl", "ctrl"] will trigger when Ctrl is pressed twice without pressing any other keys in between
- Linux: AltGr can now be used in key bindings via altgr
- Linux: Added a workaround for a touchscreen driver bug, which would cause right click and mouse scrolling to stop working
- Linux: When the menu is hidden, pressing alt will show it
- Mac: Fix Pinyin input
- Mac: Keypad keys can now be bound to as expected
- Mac: Added key bindings for macOS application tabs
- Windows, Linux: Hide mouse cursor when typing. Controlled via hide_pointer_while_typing setting
- Windows, Linux: Fixed being unable to bind Ctrl+Break
- Editor Control:
- Added File/Print, which prints via a browser
- Added Edit/Copy as HTML
- Build systems now use new annotations functionality instead of phantoms, reducing re-flow
- Undo history is preserved in the session
- Comments and layout are preserved when programmatically editing preferences
- Caret blinking is disabled by default. Set caret_style setting to smooth for previous behavior
- Improved automatic indentation detection
- Added relative line numbers, controlled by the relative_line_numbers setting
- Added setting scroll_context_lines
- Added setting hide_pointer_while_typing
- Added setting control_character_style
- Added Project/Recent/Remove Deleted
- Added chain command to run multiple commands in series
- switch_file command now handles filenames with compound extensions
- The scroll_past_end setting now supports customizing the scroll distance using numbers from 0.0 to 1.0
- Double-clicking a semi-transient sheet's tab will now fully open the sheet
- trim_trailing_white_space_on_save can now be set to "not_on_caret"
- trim_trailing_white_space_on_save now trims only newly inserted trailing whitespace by default. Controlled via trim_only_modified_white_space setting
- Expanded draw_white_space setting, supporting leading and trailing white space
- Unicode white space characters, such as the zero width no-break space, are now drawn as hex values. Controlled via draw_unicode_white_space setting
- Fixed spelling correction to support languages with upper case characters after start of word
- Added commands to simplify customizing the active theme or color scheme
- Quick Switch Project will open the selected project in a new window if Ctrl (Cmd on Mac) is held down
- Added wrap_width_style preference
- Added console_max_history_lines
- Added additional settings to control the status bar: show_sidebar_button, show_indentation and show_syntax
- Console now uses Python syntax highlighting by default
- Added Central European (Mac) encoding support
- Key Bindings: Join Lines is now on Ctrl+Shift+J / Cmd+Shift+J
- Key Bindings: Expand Selection to Indentation is no longer bound by default
- Key Bindings: Ctrl+J / Cmd+J is now used as a prefix for sequential key bindings, similar to Ctrl+K / Cmd+K
- Code Folding: fixed some edge-case incorrect behaviors
- Linux: Added support for alternate font weight names
- Linux: Selection is no longer cleared when another application makes a selection
- Linux: Added Ctrl+Space to trigger Auto Complete
- Linux, Windows: Added Alt+Shift+Left Mouse Button as an alternative column selection binding
- Linux, Windows: Added Shift+F10 key binding to open the context menu
- Text Commands:
- Macros now record Find commands
- Reworked Jump Back and Jump Forward commands
- Improved behavior of Wrap Paragraph
- Improved behavior of Swap Lines
- Added Revert Diff Hunk
- Added Selection/Expand Selection as a general mechanism to expand the selection
- Selection/Split into Lines will now split a selection into words if the selection doesn't contain any newlines
- Show a sum in the status bar when there are multiple selections and all of them are numbers
- set_file_type command now accepts "scope:" prefixed syntax names
- Fixed sort_lines replacing unicode newlines with regular ones
- Snippets:
- Added auto_complete_include_snippets setting, for disabling auto complete integration
- Added ignored_snippets setting, for disabling default snippets
- Indexing (Goto Definition):
- Files ignored by .gitignore are not indexed by default. Controlled via index_exclude_gitignore setting
- Files without known extensions are no longer indexed by default. Controlled via index_skip_unknown_extensions setting
- Improved behavior with constantly changing files
- Significantly improved load times
- Files and Folders:
- Saving files is now asynchronous
- Improved performance when adding directories with extreme amounts of files
- When save_on_focus_lost is enabled, closing an unsaved file will save and close it, instead of prompting to save
- Improved behavior of save_on_focus_lost in conjunction with administrator owned files
- Added reload_file_on_change setting to control if files are automatically reloaded or not
- folder_exclude_patterns and folder_include_patterns now support project-relative paths, by starting the path with //
- Folders in the sidebar can be recursively expanded via alt+arrow key
- Added preview_on_click setting to support only previewing files on left click
- Windows: Fixed Open Containing Folder for UNC paths
- Windows: Fixed Save dialog not showing for new files with control characters on the first line
- Windows: Fixed Ctrl+Backspace inserting a DEL character when a dialog is open in the background
- Linux: Fix recreated directories not working correctly with file change monitoring
- Linux: Recursively expanding and collapsing sidebar folders now works with alt or super
- Find:
- Find results are highlighted on the scroll bar, controlled by highlight_find_results_in_scrollbar
- Find in Selection now highlights the area that will be searched
- Commands can now be run without the find panel having input focus
- Fix keypad enter not working in find panel
- Improved find history behavior
- Find: Various performance improvements with large files using graceful degradation
- Find: Fixed adjacent matches being skipped when find in selection is in use
- Find: Fixed find in selection option not being cleared when changing tabs
- Find: Selection will no longer be reset after Find All is used when finding in selection
- Find: Results are now properly highlighted on Find All when close_find_after_find_all is turned off
- Find in Files: Improved performance with large numbers of matches
- Find in Files: Can now filter by .gitignore
- Find in Files: Added Preserve Case option for replacements
- Find in Files: Fix not recursing into directories on networked file systems
- Find in Files: Hide rulers by default in find results
- Find in Files: Added Find/Cancel Find in Files menu item
- Find in Files: Binary file patterns are applied when an explicit folder is given
- Find in Files: Using "Find in Folder…" from the sidebar context menu will apply project file filters
- Find in Files: Added close_find_after_find_all preference
- Find in Files: Added close_find_after_replace_all preference
- UI:
- Changed default color scheme to Mariana
- Added Default Dark theme
- Added themed_title_bar setting
- Changed file tab style, adding file_tab_style setting
- Goto Symbol shows more information about symbols
- Definitions hover popup shows more information about symbols
- Sheets without input focus are now dimmed when using included themes
- Added a New Tab button in the tab bar, and hide_new_tab_button setting
- Added show_tab_close_buttons_on_left setting
- Added highlight_gutter and highlight_line_number settings
- Added the ability to auto hide the menu, tabs, and status bar when typing. See auto_hide_menu and related settings
- Window title bar can be controlled by show_rel_path and show_project_first settings
- Tab context menu now includes Close Unmodified Files and Close Deleted Files entries
- Side bar row highlights now properly reflect the selected tabs
- Color Schemes: Added glow font option
- Color Schemes: Added support for the underline font style
- Color Schemes: Added new property, inactive_selection_border
- Color Schemes: Slightly darkened the background of Mariana
- Color Schemes: Added support for stippled_underline and squiggly_underline
- Color Schemes: .hidden-tmTheme files are now supported by the .sublime-color-scheme convertor
- Themes: Included themes use variables extensively, making customization simpler
- Themes: Added style property for title_bar element, for better integration with OS "dark modes"
- Themes: The tree_row for the file with input focus now gets the attribute highlighted
- Themes: The settings key now supports objects, with keys being settings and values being a boolean, string or array of strings
- Themes: Added sheet_contents class to text, image and HTML sheets
- Themes: Added the background_modifier property for sheet_contents
- Themes: Added a number of new attributes to tab_control for richer tab theming
- Themes: The highlighted attribute is only applied to the most recently active sheet, rather that the most recently active sheet in each group
- Themes: tab_control and sheet_contents classes now synchronize their highlighted and hover attributes
- Themes: tooltip controls now support animations to their opacity
- Linux: Show sequential key bindings in the menu
- Linux: Fixed context menu position being slightly offset
- Spell Checking:
- Updated dictionaries
- Added support for non-utf8 dictionaries
- Updated Hunspell for improved suggestions
- System dictionaries are now available on Linux
- Dictionaries in ~/Library/Spelling are now available on Mac
- Rendering:
- Properly query glyph extents in order to avoid cutting off large glyphs
- Windows, Linux: Added support for per-display subpixel ordering
- Mac: Improved window resize performance
- Windows: Fixed rendering bug where other applications could cause persistent artifacts via window animations
- Windows: Add support for color emoji
- API:
- Improved coverage of plugin profiling
- The cProfile module is now included on Linux
- Added HTML sheets, which can be created via window.new_html_sheet()
- repr now works as expected
- Updated OpenSSL to 1.1.1j
- .sublime-commands files now support filtering commands via the "platform" key
- Minihtml now handles list-style-type CSS property - circle, square and disc
- Minihtml now processes subl: links, running them as commands
- Minihtml now supports white-space: nowrap
- Improved minihtml rendering performance
- EventListener has many new features and bug fixes
- on_query_completions() can now
- Return suggestions asynchronously
- Return command completions
- Include symbol kind information
- New: on_init() is called once with list of views opened before plugin was loaded
- New: on_exit() is called immediately before plugin_host exits, after API is shut down
- New: on_text_changed() and on_text_changed_async() provide detailed modification info
- New methods:
- on_reload()
- on_revert()
- on_new_window()
- on_new_window_async()
- on_pre_close_window()
- on_pre_move()
- on_post_move()
- on_post_move_async()
- on_new_project()
- on_new_project_async()
- on_load_project()
- on_load_project_async()
- on_pre_save_project()
- on_post_save_project()
- on_post_save_project_async()
- on_pre_close_project()
- on_associate_buffer()
- Fixed on_selection_modified() to not be called twice when left clicking
- Fixed on_selection_modified() begin called on non-selection state changes
- New TextChangeListener for getting callbacks when a text buffer is changed
- Can be dynamically bound to a Buffer using TextChangeListener.attach and TextChangeListener.detach
- Methods:
- on_text_changed()
- on_text_changed_async()
- on_revert()
- on_revert_async()
- on_reload()
- on_reload_async()
- Sheet has some new methods:
- file_name()
- group()
- close()
- is_semi_transient()
- Sheet.is_transient
- View has a number of changes and improvements
- Fixed newly created views not having a valid viewport before being returned to the API
- add_regions() now has an annotations parameter, to allow adding a per-region annotation to the buffer. The exec command uses this API for build errors
- add_regions() calls that add an underline now have that underline applied to whitespace characters
- show() now takes keep_to_left and animate parameters
- text_point() and related functions now accept a clamp_column parameter
- Added "glow" to style_for_scope()
- Added View.rowcol_utf8(), View.rowcol_utf16(), View.text_point_utf8() and View.text_point_utf16()
- Added sublime.KEEP_ON_SELECTION_MODIFIED, which can be passed to show_popup()
- New: element() returns a string describing widget views (find input, quick panel input, etc)
- New: assign_syntax() sets the syntax used in a view, supports Syntax objects, paths and scope selectors
- New: syntax() returns the currently set Syntax
- New: clones()
- New: sheet() and sheet_id()
- New: export_to_html()
- Window has some changes and improvements:
- show_quick_panel now accepts placeholder text, via the placeholder argument
- Added sublime.CLEAR_TO_RIGHT and sublime.SEMI_TRANSIENT for use with open_file()
- Added the flag sublime.REPLACE_MRU for use with open_file(). When multiple sheets are selected, this flag will cause the opened file to replace the most recently used sheet with the file being opened
- Added the flag sublime.WANT_EVENT for use with show_quick_panel(). This will pass an event dict to the on_select callback. The dict will contain the key modifier_keys, which will be a dict that may contain zero or more of the keys: primary, ctrl, super, alt, altgr
- open_file now accepts sublime.ADD_TO_SELECTION as a flag
- New: selected_sheets(), selected_sheets_in_group() and select_sheets()
- New: workspace_file_name()
- New: bring_to_front()
- sublime.ok_cancel_dialog() and sublime.yes_no_cancel_dialog() now accept an optional title parameter
- Added sublime.open_dialog, sublime.save_dialog and sublime.select_folder_dialog
- Syntax definitions can be queried via sublime.list_syntaxes(), sublime.find_syntax(), sublime.syntax_from_path(), sublime.find_syntax_by_name(), sublime.find_syntax_by_scope(), and sublime.find_syntax_for_file(). They return Syntax objects
- Improved sys.stdout to extend io.TextIOBase
- sublime.executable_path(), sublime.packages_path(), sublime.installed_packages_path() and sublime.cache_path() may now be called at import time
- Added sublime.SymbolRegion and sublime.SymbolLocation with corresponding methods on View and Window
- Fix a bug with popup being stuck open when a popup is shown in the hide event handler of another popup
- Added open_project_or_workspace command
- append command has new, optional disable_tab_translation argument
- Added modifier_keys to event dicts when commands are invoked via a menu
- Added sublime.DYNAMIC_COMPLETIONS. on_query_completions() can return this flag to indicate that completion results should be re-queried as the user types
- Added sublime.INHIBIT_REORDER. Returned by on_query_competions()
- CompletionItem now accepts a details parameter, which can include basic HTML
- CommandInputHandler now has an initial_selection() method
- Added Region.to_tuple and Phantom.to_tuple
- Fixed ViewEventListener.on_load_async() sometimes not being called
- Added sublime.QuickPanelItem() with support for kind info, annotations and basic minihtml
- Plugins may now add selections to the Jump Back history list via the add_jump_record command
- Plugins may suppress selections from the Jump Back history list via the jump_ignore_selection region
- Plugins may now disable the default HTML and CSS completions
- Added Buffer.id() and Buffer.file_name()
- The TextInputHandler and ListInputHandler classes may define a method want_event() that returns True to receive an extra parameter, an event dict, when the validate() and confirm() methods are called. The dict will contain the key modifier_keys, which will be a dict that may contain zero or more of the keys: primary, ctrl, super, alt, altgr
- Add sublime.ui_info() for high-level information about the UI
- Popups will be properly positioned when displayed near the right-hand side of the editor
- Popups near the right-hand side of the editor with wrapped lines will now be properly sized
- Added ListInputItem so that ListInputHandler objects can provide kind info, annotations and details
- Improvements to the API, applied to the new Python 3.8 environment only:
- bool(sublime.Selection()) will return False when len() == 0
- sublime.load_binary_resource() now returns bytes instead of bytearray
- Added Selection.__iter__()
- Added Region.__iter__()
- Added Region.__contains__()
- Added Settings.to_dict()
- Settings can now be treated like a dict
- Plugins starting with _ will be ignored, __all__ global will be respected
- Events won't be reported until plugin_loaded() has been called
- .pyc files can now be imported when contained within .sublime-package files, although they will not be scanned for plugins
- The certifi Python package is preinstalled
- Significant performance improvements when rapidly printing to the Console
- Added sublime.log_control_tree(). When enabled, clicking with ctrl+alt will log the control tree under the mouse to the console
- Added sublime.log_fps(). When enabled, the render times are tracked and logged
- Added logging status functions:
- sublime.get_log_commands()
- sublime.get_log_input()
- sublime.get_log_build_systems()
- sublime.get_log_result_regex()
- sublime.get_log_indexing()
- sublime.get_log_fps()
- sublime.get_log_control_tree()
- Logging functions are now toggle when no argument is passed:
- sublime.log_commands()
- sublime.log_input()
- sublime.log_build_systems()
- sublime.log_result_regex()
- sublime.log_indexing()
- sublime.log_fps()
- sublime.log_control_tree()
- Backwards Compatibility Break: The event parameter passed to commands when a minihtml link is clicked changed from a two-element list to a dict with the keys x and y
New in Sublime Text 3.2.2 Build 3211 (Oct 1, 2019)
- Mac: Added Notarization
- Fixed a performance regression when moving the caret upwards in large files
- Fixed a memory leak
- Fixed not being able to swap lines down with the last line if it was empty
- Git: Fixed includeIf handling in git config files not interpreting ~ relative paths correctly
New in Sublime Text 3.2.1 Build 3210 Dev (Sep 24, 2019)
- Mac: Fixed a compatibility regression with some plugins
New in Sublime Text 3.2.1 Build 3209 Dev (Sep 23, 2019)
- Mac: Added Notarization
- Fixed a performance regression when moving the caret upwards in large files
- Fixed a memory leak
- Fixed not being able to swap lines down with the last line if it was empty
- Git: Fixed includeIf handling in git config files not interpreting ~ relative paths correctly
New in Sublime Text 3.2.1 Build 3207 (Apr 8, 2019)
- Various syntax highlighting improvements
- Git: Git repositories at the top level of a users home directory are ignored for performance reasons. This can be changed via the allow_git_home_dir setting.
- Git: Improved performance with a large number of git repositories in the side bar
- Git: Fixed UTF8 BOMs not being handled correctly in .gitignore files
- Fixed a crash in the Git repository handling
- Improved file indexing behavior in some scenarios
- Improved scrolling logic in some scenarios
- Fixed block carets changing the way text selection works
- Fixed swap_line_up and swap_line_down transforming tabs into spaces
- Mac: Added a workaround for a MacOS issue with DisplayLink adapters
- Lixed: Fixed compatibility with old Linux distributions
- Linux: Improved high dpi handling under KDE
- Linux: Tweaked the way text scaling is handled
- Linux: Fixed incorrect file ownership in the deb packages
- API: Fixed an incompatibility with SublimeREPL
- API: Fixed regression with phantoms interfering with home/end behavior
New in Sublime Text 3.2 Build 3206 Dev (Apr 5, 2019)
New in Sublime Text 3.2 Build 3205 Dev (Apr 4, 2019)
- Improved scrolling logic in some scenarios
New in Sublime Text 3.2 Build 3204 Dev (Apr 2, 2019)
- Mac: Added a workaround for a MacOS issue with DisplayLink adapters
- Linux: Tweaked the way text scaling is handled
- Improved file indexing behavior in some scenarios
- Fixed block carets changing the way text selection works
New in Sublime Text 3.2 Build 3203 Dev (Mar 28, 2019)
- Fixed a crash in the Git repository handling
- Linux: Further improvements to high dpi handling under KDE
- API: Fixed regression with phantoms interfering with home/end behavior
New in Sublime Text 3.2 Build 3202 Dev (Mar 21, 2019)
- Various syntax highlighting improvements
- Git: Git repositories at the top level of a users home directory are ignored for performance reasons. This can be changed via the allow_git_home_dir setting.
- Git: Improved performance with a large number of git repositories in the side bar
- Git: Fixed UTF8 BOMs not being handled correctly in .gitignore files
- Linux: Improved high dpi handling under KDE
- Linux: Fixed incorrect file ownership in the deb packages
- Fixed swap_line_up and swap_line_down transforming tabs into spaces
- API: Fixed an incompatibility with SublimeREPL
New in Sublime Text 3.2 Build 3201 Dev (Mar 21, 2019)
- Various syntax highlighting improvements
- Git: Git repositories at the top level of a users home directory are ignored for performance reasons. This can be changed via the allow_git_home_dir setting.
- Git: Improved performance with a large number of git repositories in the side bar
- Git: Fixed UTF8 BOMs not being handled correctly in .gitignore files
- Linux: Improved high dpi handling under KDE
- Linux: Fixed incorrect file ownership in the deb packages
- Fixed swap_line_up and swap_line_down transforming tabs into spaces
- API: Fixed an incompatibility with SublimeREPL
New in Sublime Text 3.2 Build 3200 (Mar 13, 2019)
- NEW: Git Integration:
- Files and folders in the sidebar will now display badges to indicate Git status
- Ignored files and folders are visually de-emphasized
- The current Git branch and number of modifications is displayed in the status bar
- Commands have been added to open a repository, see file or folder history, or blame a file in Sublime Merge
- Themes may customize the display of sidebar badges and status bar information
- The setting show_git_status allows disabling Git integration
- All file reads are done through a custom, high-performance Git library written for Sublime Merge
- NEW: Incremental Diff:
- All changes to a document are now represented by dedicated markers in the gutter
- Diff markers show added, modified and deleted lines
- The setting mini_diff controls incremental diff behavior
- In coordination with the new Git functionality, diffs can be calculated against HEAD or the index
- The git_diff_target setting controls base document source
- API methods View.set_reference_document() and View.reset_reference_document() allow controlling the diff
- The following diff-related commands were added:
- Next Modification
- Previous Modification
- Revert Modification
- Full inline diffs of each change can be displayed via the right-click context menu, or keyboard shortcuts
- Inline diff presentation can be changed by customizing a color scheme
- Read the documentation
- Editor Control:
- Added block_caret setting
- Improve positioning and sizing of gutter icons in some situations
- Fixed draw_minimap_border setting not working
- Windows: Improved IME support
- Themes/UI:
- Enhanced the .sublime-theme format:
- Added variables support and associated revised JSON format with variables key
- Added extends keyword to have one theme derive from another
- Colors may be specified via CSS syntax
- Improved performance with large numbers of rules in a .sublime-theme
- Windows: Fixed minimized and maximized state not restoring
- Windows: Fixed a bug where auto complete entries would contain an ellipsis when not required
- Text Rendering:
- Support for Unicode 11.0
- Improved rendering of combining characters
- Fixed a caret positioning bug when non-trivial graphemes are present
- Fixed some cases of incorrect glyph positions on Windows and Mac
- Windows: Fixed a rendering issue with certain combining characters
- Windows: Fixed some fonts having an incorrect baseline
- Color Schemes:
- Added block_caret key to use in conjunction with block carets
- caret values now respect alpha as expected, rather than pre-blending against the background color
- Added the foreground_adjust property to rules with a background. Accepts CSS color mod adjusters to manipulate the saturation, lightness or opacity of the foreground color.
- Syntax Highlighting:
- Many syntax highlighting improvements, including significant improvements to:
- Clojure, with thanks to Nelo Mitranim
- Go, with thanks to Nelo Mitranim
- Lua, with thanks to Thomas Smith
- Fixed a crash that could occur when nesting embed patterns in .sublime-syntax files
- Syntax Tests: Allow syntax test files to have a UTF-8 BOM
- Files and Folders:
- Improve performance of file watching for ignored paths on Windows and Mac
- Windows: Fixed Open File treating paths as case-sensitive
- Windows: Properly unlock directories after contained files are closed
- API:;
- Added View.set_reference_document() and View.reset_reference_document() to control diff generation
- Phantoms are now drawn correctly in conjunction with draw_centered
- Various minor improvements related to plugin module loading and unloading
- Added support for hwb() colors to minihtml
- Added a custom min-contrast() adjuster for the CSS color mod function in minihtml
- Miscellaneous:
- Fixed a Goto Symbol in Project performance regression
- F21..F24 keys can now be bound
- Assorted minor fixes and stability improvements
New in Sublime Text 3.1.1 Build 3197 Dev (Mar 8, 2019)
- Fixed an infinite loop regression in 3195
New in Sublime Text 3.1.1 Build 3196 Dev (Mar 8, 2019)
- Fixed an infinite loop regression in 3195
New in Sublime Text 3.1.1 Build 3195 Dev (Mar 7, 2019)
- Assorted minor fixes
- Fixed a Goto Symbol in Project performance regression
New in Sublime Text 3.1.1 Build 3194 Dev (Mar 5, 2019)
- Various inline diff improvements
New in Sublime Text 3.1.1 Build 3193 Dev (Mar 1, 2019)
- Added inline diffs. Right clicking on a modified line will give an option to show a diff. Alternatively, the diff can be toggled via ctrl+k, ctrl+/ (cmd+k, cmd+/ on macOS)
- Mac: Themed title bars are now disabled when macOS native tabs are used
- Mac: Ensure context menus are shown without scrolling
- Mac: Error message dialogs can now be closed with the escape key
- Linux: Color glyphs are now drawn properly on light backgrounds
- Color Schemes: Inline diff presentation can be customized via diff.deleted, diff.deleted.char, diff.inserted, and diff.inserted.char
- API: Phantoms are now drawn correctly in conjunction with draw_centered
New in Sublime Text 3.1.1 Build 3192 Dev (Feb 27, 2019)
- Mac: Add full support for macOS native tabs
- Rewritten D syntax highlighting
- Improve performance of file watching for ignored paths on Windows and Mac
- Fix rendering of block_caret in combination with scope-specific background colors
- Properly display Git status badges in Open Files section of sidebar
- Correct the deleted line marker for mini diffs to scale with ui_scale
- Linux: Improved behavior of --wait command line argument when Sublime Text isn't currently running
- Windows: Fix GDI font properties of matched characters in Goto Anything
- Windows: Prevent plugin_host.exe from crashing when Emmet is first installed
New in Sublime Text 3.1.1 Build 3191 Dev (Feb 27, 2019)
- Rewritten D syntax highlighting
- Improve performance of file watching for ignored paths on Windows and Mac
- Fix rendering of block_caret in combination with scope-specific background colors
- Properly display Git status badges in Open Files section of sidebar
- Correct the deleted line marker for mini diffs to scale with ui_scale
- Fix GDI font properties of matched characters in Goto Anything
- Prevent plugin_host.exe from crashing when Emmet is first installed
New in Sublime Text 3.1.1 Build 3191 Dev (Feb 27, 2019)
- Rewritten D syntax highlighting
- Improve performance of file watching for ignored paths on Windows and Mac
- Fix rendering of block_caret in combination with scope-specific background colors
- Properly display Git status badges in Open Files section of sidebar
- Correct the deleted line marker for mini diffs to scale with ui_scale
- Fix GDI font properties of matched characters in Goto Anything
- Prevent plugin_host.exe from crashing when Emmet is first installed
New in Sublime Text 3.1.1 Build 3190 Dev (Feb 19, 2019)
- Added Edit/Text/Revert Modification menu item
- Color Schemes: caret values now respect alpha as expected, rather than pre-blending against the background color
- Color Schemes: Added block_caret key to use in conjunction with block carets
- Added block_caret setting
- Improved handling of symlinks and Git repositories
- Fixed some cases of incorrect glyph positions on Windows and Mac
- Fixed a bug with the Duplicate Line command
- Improve positioning and sizing of gutter icons in some situations
- Windows: Fix DirectWrite handling of fonts with lineGap > 0
- Linux: Tweaked behavior of up/down when on the first and last lines of a file to better match platform conventions
- Linux: Fixed regression where native Python modules were unable to be loaded
- Linux: Fixed scrolling to switch tabs not working as expected under GTK3 with trackpads
- API: Fixed defining commands in Python that override a previously-loaded command with the same name
- API: Added View.reset_reference_document(), which is equivalent to calling set_reference_document() with the current buffer contents
- Various syntax highlighting improvements
- Misc crash fixes
New in Sublime Text 3.1.1 Build 3189 Dev (Feb 1, 2019)
- Mini diffs now indicate inserted and deleted lines
- Added Goto/Next Modification and Goto/Previous Modification commands
- The mini_diff setting can now be set to "auto", which will only show mini diffs for files in Git repositories
- Added the git_diff_target setting, to control if the mini diff for Git files is against the index or HEAD
- Git repositories are now detected through symlinks
- Fixed a bug calculating Git status badges in the side bar
- Fixed a caret positioning bug when non-trivial graphemes are present
- Windows: Fixed a bug where auto complete entries would contain an ellipsis when not required
- Windows: Fixed a rendering issue with certain combining characters
- Windows: Fixed some fonts having an incorrect baseline
- Windows: Properly unlock directories after contained files are closed
- API: Various minor improvements related to plugin module loading and unloading
New in Sublime Text 3.1.1 Build 3188 Dev (Jan 21, 2019)
- Fixed a crash regression in 3186
- Fixed mini diffs showing incorrectly for Git files in some scenarios
New in Sublime Text 3.1.1 Build 3187 Dev (Jan 18, 2019)
- Fixed a crash regression in 3186
New in Sublime Text 3.1.1 Build 3185 Dev (Jan 18, 2019)
- Diffs are now shown in the gutter, showing the modified lines since the file was opened, or modified lines vs HEAD if the file is part of a Git repository. This can be disabled via the mini_diff setting.
- Git: Various improvements to Git repository detection and handling
- Git: Git status badges are shown in the Open Files section of the side bar
- Git: Added support for includeIf in Git config files
- Rewritten Lua syntax highlighting, with thanks to Thomas Smith
- Various syntax highlighting improvements
- Support for Unicode 11.0
- Linux and Windows: Improved IME support
- Linux: Fixed popup menu positioning on High DPI screens
- Mac: Fixed middle mouse button support
- Fixed a crash that could occur when nesting embed patterns in .sublime-syntax files
- Minihtml: Fix hwb() to normalize w and b channels, and accept an alpha channel
- Syntax Tests: Allow syntax test files to have a UTF-8 BOM
- API: Added view.set_reference_document(), to control the mini diff target
New in Sublime Text 3.1.1 Build 3184 Dev (Dec 5, 2018)
- Improved visualization of ignored files
- Fixed a crash when looking up Folder History on the root of a repo
- Fixed hover attributes not being applied in the side bar
- Fixed output panels always scrolling to the bottom
- Linux: GTK3 + Wayland compatibility fixes
- Mac: Fixed Control+click not showing a context menu in the side bar
New in Sublime Text 3.1.1 Build 3183 Dev (Dec 3, 2018)
- Mac: Fixed missing key bindings in menu items
- Linux: Fixed a crash when using GTK_IM_MODULE=xim
- Linux: Fixed popup windows on Wayland
New in Sublime Text 3.1.1 Build 3181 Dev (Nov 29, 2018)
- Git file status is shown as badges next to file names in sidebar
- Git branch name and number of modified files is shown in status bar
- Git repository information may be disabled via show_git_status setting
- Added Sublime Merge integration - see context menus and command palette
- Linux: Moved to GTK3
- Unicode: Improved rendering of combining characters
- Significant improvements to Go syntax highlighting, with thanks to Nelo Mitranim
- Significant improvements to Clojure syntax highlighting, with thanks to Nelo Mitranim
- Various syntax highlighting improvements
- minihtml: Add support for hwb() colors
- minihtml: Added a custom min-contrast() adjuster for the color mod function
- F21..F24 keys can now be bound
New in Sublime Text 3.1.1 Build 3180 Dev (Oct 15, 2018)
- Fixed scroll events going through overlays
- Fixed draw_minimap_border setting not working
- Windows: Fixed Open File treating paths as case-sensitive
- Windows: Fixed minimized and maximized state not restoring
New in Sublime Text 3.1.1 Build 3179 Dev (Oct 12, 2018)
- Themes: Added extends keyword to have one theme derive from another
- Themes: Added variables section
- Themes: Colors may be specified via CSS syntax
- Themes: Improved performance with large numbers of rules
- Color schemes: add a foreground_adjust property to rules with a background. Accepts CSS color mod adjusters to manipulate the saturation, lightness or opacity of the foreground color
- Mac: Added Mojave support
- Mac: Fixed a plugin_host crash when running a process that itself crashes
- Mac: Improved window placement
- Linux: Various high DPI fixes
New in Sublime Text 3.1.1 Build 3176 (May 14, 2018)
- Various fixes from 3.1
- Added ui_scale setting to scale the entire UI, dpi_scale is now Linux-only
- Linux: Added workaround for a display driver issue, giving significant scrolling improvements for some environments
- Indexing: Added more information in the Indexing Status window, and reduced CPU utilization in some scenarios
New in Sublime Text 3.1 Build 3170 (May 14, 2018)
- Themes/UI:
- Windows: Added support for Windows 10 (and 8.1) per-monitor DPI scaling
- Improved overall High DPI support
- Added support for 8k monitors and 300% DPI scale
- Themes can now provide @3x versions of images for very high DPI monitors
- Improved indent guide positions when using line padding
- Rulers are drawn with stippled lines
- Linux/Windows: Improved High DPI minimap rendering
- Mac: Fixed occasional yellow or black windows when using a theme with a colored title bar
- Mac: Double-clicking a themed title bar now performs the default system action
- Mac: Fixed sizing of some dialog windows when a theme uses a themed title bar
- Mac: Fixed gutter icons sometimes not drawing
- Text Rendering:
- Added ligature support for symbols
- Added font_options for controlling ligatures and stylistic sets
- Improved rendering and selection of emojis
- Tab width is now properly measured for proportional fonts
- Windows: DirectWrite is now used by default for all fonts
- Windows: Support gray_antialias in conjunction with DirectWrite
- Windows: improved DirectWrite anti-aliasing, adding support for system ClearType tuning
- Goto Definition:
- Added Goto References when hovering over a symbol
- Added goto_reference command to the Goto menu
- Color Schemes:
- Added new color scheme format, .sublime-color-scheme
- Add Hashed Syntax Highlighting
- Added the Celeste color scheme to showcase hashed syntax highlighting
- Selections now render by default with true rounded corners
- Added color scheme settings for selection border width, corner style and radius
- Selection background and border now support alpha channels
- Improved color scheme reloading
- Added Convert Color Scheme command
- Added support for the invisibles key in color schemes
- selection_foreground can now be specified on a per-scope basis
- Color Schemes can specify bold and italic in the brackets_options key
- Improved handling of invalid.deprecated scopes in default color schemes
- Syntax Highlighting:
- Add embed action to .sublime-syntax files for improved syntax nesting
- Added Git Formats package for Git config files and use as core.editor, with thanks to Ryan Boehning and deathaxe
- Many syntax highlighting improvements, including significant improvements to:
- JavaScript, with thanks to Thomas Smith
- ShellScript, with thanks to Raoul Wols
- Makefiles, with thanks to Raoul Wols
- Java, with thanks to lastsecondsave
- C#, with thanks to keith-hall
- Markdown, with thanks to keith-hall
- Python, with thanks to FichteFoll
- Added stand alone syntax test runner for Linux, allowing for CI testing
- Various syntax definition errors now include the file name in the message
- Command Palette:
- New Command Palette implementation that can accept text input from users
- Fuzzy matching can match terms out of order by space separating them
- Added new commands Arithmetic, Rename File and View Package File to showcase new features
- Keyboard shortcut hints are no longer cut off at 15 characters
- Build Systems:
- Improve cancellation handling
- Use /usr/bin/env to locate bash
- Fix multi-byte encodings sometimes triggering decoding errors
- Improved exec build target handling of killing child processes
- Files and Folders:
- Improved handling of symlinks in the sidebar, including additions and removals
- Symlinks no longer have an expand arrow in the sidebar, but have a Reveal Link Source context menu entry
- Add support for binary_file_patterns, index_exclude_patterns and index_include_patterns to .sublime-project files
- index_exclude_patterns and index_include_patterns can now match full paths instead of just filename
- Linux/Windows: File system notifications now account for symlinks (and Windows junctions)
- Linux: file system notification now only requires a single inotify instance
- Linux: Improved behavior when fs.inotify.max_user_watches is too low
- Mac: Reduced the number of file stats operations
- Mac: Added support for case-sensitive file systems
- Input:
- Fixed popup and auto complete windows not showing when the caret is at the leftmost position of a widget
- Fix left arrow not working in the side bar
- Fixed not being able to grab the scrollbar by clicking on the rightmost pixels of the window
- Fix double clicking on the selection not setting input focus when drag_drop is enabled
- Linux: Context menus no longer cause the editor control to be focused when closed
- Windows: Fix pen input
- Performance:
- Significantly reduced memory usage related to syntax definitions - using up to 30% less total program memory
- Improve idle CPU usage
- Fix a bug where theme animations may continue even after a layer has been hidden, causing excessive CPU usage
- Mac: Solved increased CPU usage on Macs when a GPU switch occurs while using a theme with a colored title bar
- API:
- Added TextInputHandler and ListInputHandler to interact with new Command Palette functionality
- Added View.style() and View.style_for_scope()
- Added automatically generated scope names for use with the regions API: region.redish, region.orangish, region.yellowish, region.greenish, region.bluish, region.purplish and region.pinkish
- Improve View.find() and View.find_all() performance when doing literal matches
- Expanded ViewEventListener API
- Fix EventListener.on_activated_async() not being called for views when the editor starts
- Add ViewEventListener.on_activated() and ViewEventListener.on_activated_async() to be called for views when the editor starts
- Improve tracebacks for Python in .sublime-package files
- shell_environment is now ensured to be loaded before plugin_loaded() is called on plugins
- Plugin commands are now created before plugin_loaded() is run
- Loaded plugins are now stored in __plugins__ rather than plugins
- The Python ssl module will now negotiate TLS 1.2, 1.1 or 1.0 with the PROTOCOL_TLSv1 constant
- Updated Python environment with SQLite 3.22.0, and OpenSSL 1.0.2n
- Miscellaneous:
- Fixed being unable to load dictionary files larger than 16mb
- Fixed an issue where out of memory conditions would trigger a buffer overflow instead of a clean crash
- Word wrap is turned on by default for the console
- Added Regex Replace Widget.sublime-settings and Console Input Widget.sublime-settings
- Fixed a number of bugs that would cause crashes
New in Sublime Text 3.0 Build 3175 Dev (May 12, 2018)
New in Sublime Text 3.0 Build 3174 Dev (May 11, 2018)
- Fixed a spell check rendering regression in 3171
New in Sublime Text 3.0 Build 3172 Dev (May 10, 2018)
- Fixed a rendering regression in 3171
New in Sublime Text 3.0 Build 3171 Dev (May 10, 2018)
- Several high DPI related fixes
- Added ui_scale setting to scale the entire UI
- Various syntax highlighting improvements
- Linux: Added workaround for a display driver issue, giving significant scrolling improvements for some environments
- Indexing: Added more information in the Indexing Status window, and reduced CPU utilization in some scenarios
- Mac: Add default key bindings for ctrl+pgup and ctrl+pgdn to match Firefox
- Some crash fixes
New in Sublime Text 3.0 Build 3168 Dev (May 3, 2018)
- Fix a command palette input history regression in 3167
- Windows: Tweaked label alignment
New in Sublime Text 3.0 Build 3167 Dev (May 2, 2018)
- Added support for 8k monitors and 300% DPI scale
- Themes can now provide @3x versions of images for very high DPI monitors
- Fixed a crash when adding folders to the sidebar with a complex combination of hardlinks and symlinks
New in Sublime Text 3.0 Build 3166 Dev (May 1, 2018)
- Various syntax highlighting improvements
- Windows: Fixed a label eliding regression with fractional DPI scaling
- Fixed a scrolling regression in 3165
- Several crash fixes
New in Sublime Text 3.0 Build 3165 Dev (Apr 27, 2018)
- Windows: Improved support for fractional DPI scaling
- Fixed hashed syntax highlighting getting confused by word wrapping
- Fixed popup and auto complete windows not showing when the caret is at the leftmost position of a widget
New in Sublime Text 3.0 Build 3164 Dev (Apr 18, 2018)
- API: Fixed a plugin loading regression in 3162
New in Sublime Text 3.0 Build 3163 Dev (Apr 17, 2018)
- Windows: Fix a performance regression in 3162
- Windows: Use GDI compatible text layout in some scenarios
New in Sublime Text 3.0 Build 3162 Dev (Apr 16, 2018)
- Added the Celeste color scheme to showcase hashed syntax highlighting
- More selection rendering improvements and fixes
- Fix a bug where theme animations may continue even after a layer has been hidden, causing excessive CPU usage
- Windows: improved DirectWrite anti-aliasing, adding support for system ClearType tuning
- Mac: Fixed sizing of some dialog windows when a theme uses a themed title bar
- Mac: Fixed font_options for OpenType features
- Mac: Fixed handling of color fonts with light color schemes
- Various syntax highlighting improvements
- API: Improve tracebacks for Python in .sublime-package files
New in Sublime Text 3.0 Build 3161 Dev (Apr 4, 2018)
- Improved selection rendering
- Fixed an auto complete rendering regression in 3158
- Reverted inbuilt Python to 3.3.6
New in Sublime Text 3.0 Build 3160 Dev (Mar 30, 2018)
- Fixed a crash regression in 3158 when using symlinks on Windows 7
New in Sublime Text 3.0 Build 3159 Dev (Mar 29, 2018)
- Fixed a crash regression in 3158
- Windows: Fixed a Build System regression with cmd based build systems
New in Sublime Text 3.0 Build 3158 Dev (Mar 29, 2018)
- Added support for Windows 10 (and 8.1) per-monitor DPI scaling
- Added Git Formats package for Git config files and use as core.editor, with thanks to Ryan Boehning and deathaxe
- Added font_options for controlling ligatures and stylistic sets
- Added support for case-sensitive file systems on Macs
- File system notifications on Linux and Windows now account for symlinks (and Windows junctions)
- Linux file system notification now only requires a single inotify instance
- Improved handling of symlinks in the sidebar, including additions and removals
- Symlinks no longer have an expand arrow in the sidebar, but have a "Reveal Link Source" context menu entry
- Selections now render by default with true rounded corners
- Added color scheme options for selection border width, corner style and radius
- Selection background and border now support alpha channels
- Fixed a bug in where a phantom at the beginning of a line could cause syntax highlighting issues
- Tab width is now properly measured for proportional fonts
- Improved rendering and selection of emojis in the editor control
- Fixed some issues with loading fonts on Windows, including .fon fonts
- Fixed a crash on Macs when a window was closed and later the system switched GPUs
- Double-clicking a themed title bar on Mac now performs the default system action
- Reduced the number of file stats operations on Mac
- Context menus on Linux no long cause the editor control to be focused when closed
- Improved exec build target handling of killing child processes
- Add support for binary_file_patterns, index_exclude_patterns and index_include_patterns to .sublime-project files
- index_exclude_patterns and index_include_patterns can now match full paths instead of just filename
- Fixed a bug on Linux where some ultra-wide ligatures would have the left edge clipped off
- shell_environment is now ensured to be loaded before plugin_loaded() is called on plugins
- Fixed a bug where regions added through the API may not be properly applied when one of the regions ends at the beginning of the first line in the viewport
- Various syntax highlighting improvements
- API: Fix EventListener.on_activated_async() not being called for views when the editor starts
- API: Add ViewEventListener.on_activated() and ViewEventListener.on_activated_async() to be called for views when the editor starts
- API: The Python ssl module will now negotiate TLS 1.2, 1.1 or 1.0 with the `PROTOCOL_TLSv1` constant
- API: Updated Python to 3.3.7, SQLite to 3.22.0, and OpenSSL to 1.0.2n
New in Sublime Text 3.0 Build 3157 Dev (Feb 9, 2018)
- Fix a Command Palette regression in build 3156 with selecting previous filter text
- Solved increased CPU usage on Macs when a GPU switch occurs while using a theme with a colored title bar
- Fix embed action to work properly multiple times on a single line
- Correct a crash related to syntax highlighting when one of the contexts has a regex backreference in a pop pattern
- Command Palette keyboard shortcut hints are no longer cut off at 15 characters
- Fixed occasional yellow or black windows on Macs when using a theme with a colored title bar
- Various syntax highlighting improvements
New in Sublime Text 3.0 Build 3156 Dev (Dec 3, 2017)
- embed action now treats the target as optional, rather than an error
- Various syntax definition errors now include the file name in the message
- Various syntax highlighting improvements
- Fix a crash in the Command Palette when using up and down keys with text input
- Initial Command Palette text is no longer selected
- Reinvoking the Command Palette while it is open, but without focus, now works properly
- API: Invoking a command that requires input from the Command Palette will always pass a dict to the input() method
New in Sublime Text 3.0 Build 3155 Dev (Nov 30, 2017)
- Various Command Palette improvements
- Syntax Highlighting: Fixed a bug with the handling of embed escape patterns
- Syntax Highlighting: Added stand alone syntax test runner
- API: Expanded ViewEventListener API
- API: Commands can implement input_description() to control how they're shown when accepting input in the Command Palette
New in Sublime Text 3.0 Build 3154 Dev (Nov 20, 2017)
- New Command Palette
- Fuzzy matching can match terms out of order by space separating them
- Added Arithmetic command to the Command Palette
- Added Rename File command to the Command Palette
- Added View Package File command to the Command Palette
- Added Convert Color Scheme command
- Various syntax highlighting improvements
- Fixed hashed syntax highlighting not working as expected with trailing whitespace
- Improve idle CPU usage
- Improved handling of invalid.deprecated scopes in default color schemes
- Add support for variables in escape patterns
New in Sublime Text 3.0 Build 3153 Dev (Nov 20, 2017)
- Syntax Highlighting: Add embed action to .sublime-syntax files, which can significantly reduce memory usage
- Add Hashed Syntax Highlighting
- Various syntax highlighting improvements
- Build systems: Improve cancellation handling
- Build systems: Use /usr/bin/env to locate bash
- Build systems: Fix multi-byte encodings sometimes triggering decoding errors
- Improved indent guide positions when using line padding
- Fixed gutter icons sometimes not drawing on macOS
- Fixed being unable to load dictionary files larger than 16mb
- Fix left arrow not working in the side bar
- Windows: Fix pen input
- API: Fix regions drawing with incorrect caret colors
- API: Loaded plugins are now stored in __plugins__ rather than plugins
- API: Plugin commands are now created before plugin_loaded() is run
New in Sublime Text 3.0 Build 3152 Dev (Nov 20, 2017)
- Added goto_reference command to the Goto menu
- Fixed not being able to grab the scrollbar by clicking on the rightmost pixels of the window
- Fixed a regression where visible whitespace wasn't drawn correctly in conjunction with code folding
- Fix double clicking on the selection not setting input focus when drag_drop is enabled
- Color Schemes can specify bold and italic in the brackets_options key
- Fix font_style typo when parsing .sublime-color-scheme files
- .sublime-color-scheme: "defaults" has been renamed to "globals"
- Windows: Removed drop shadows due to Windows not handling them correctly
- API: Regions are able to change the foreground color again
- API: Improve View.find() and View.find_all() performance when doing literal matches
New in Sublime Text 3.0 Build 3150 Dev (Nov 20, 2017)
- Fixed double drawing of selected text
- Improved color scheme reloading
- Goto Symbol in Project shows only definitions, not references
- API: Added view.style()
New in Sublime Text 3.0 Build 3143 (Sep 13, 2017)
- Refreshed UI theme, including full high DPI support
- New icon
- Added alternate theme, Adaptive, that inherits colors from the color scheme
- Added new color schemes Breakers, Mariana and Sixteen, derived from the excellent work of Chris Kempson and Dmitri Voronianski
- Added color scheme and theme switchers with live preview via the command palette
- Windows: Added touch input
- Linux: Added repositories for apt, yum and pacman
- Mac: Added Touch Bar support
- Mac: Support for custom color window title bars on OS X 10.10+
- Many additions and bug fixes to the theme engine, plus full documentation
- Significant improvements to Markdown syntax highlighting, with thanks to keith-hall
- Significant improvements to C# syntax highlighting, with thanks to gwenzek
- Significant improvements to Java syntax highlighting, with thanks to djspiewak
- Significant improvements to Python syntax highlighting, with thanks to FichteFoll
- Significant improvements for R syntax highlighting, with thanks to randy3k
- Markdown: Improved symbol handling
- C#: Improved symbol handling
- Many other syntax highlighting improvements
- Various bugs with the syntax highlighting engine have been resolved
- Fixed several crash issues
- Improved responsiveness when the system is under high CPU load
- High DPI textures are used on Windows and Linux when the DPI scale is greater than 1.0
- Improved font selection on all platforms, allowing selection of different weights by name
- Added setting theme_font_options to control font rendering of UI elements
- Improved auto indent rules for HTML and PHP
- Font geometry issues that prevent bold or italics are now printed in the console
- Fixed flash-of-white that could occur when the auto complete window is closed
- Disable scroll animation when animation_enabled is false in settings
- Files can now be renamed when only the case has changed
- New windows start with an empty find history
- Find in Files panel now responds to find_all and replace_all commands
- Various regex handling improvements in the Find panel
- Fixed text widgets cutting off the bottom pixel of their selection border
- Fixed an issue with close_windows_when_empty in empty session
- Fixed empty panes on startup when hot_exit was set to false
- Fix Open Containing Folder on Windows with a folder containing a comma
- Fix multi-cursor pasting when clipboard contains one or more full lines
- Prevent UNC paths from being mangled by edit_settings
- Prevent a crash when a malformed regex is used in indentation settings
- Improved rendering performance with a large number of gutter icons
- Gutter icons are now sized properly on Windows and Linux high DPI screens
- Improved sidebar performance when folders contain many thousands of files
- Improved inline error message style
- Fixed an issue where multiple indexing status windows could be shown
- Windows: Font rendering defaults to DirectWrite unless using Consolas or Courier New
- Windows: Added support for no_antialias font option when using DirectWrite
- Windows: Improved touch pad scrolling
- Windows: Improved file change detection robustness
- Windows: Improved font selection logic
- Windows: Fix ctrl+` shortcut for UK (ISO) keyboards
- Windows: Improved fallback font handling in UI elements
- Windows: The subl executable on OS X and plugin_host.exe on Windows are now signed
- Windows: sublime_text.exe now has CompanyName set in VERSIONINFO
- minihtml: Added support for borders
- minihtml: Respects font_options from the settings
- minihtml: Fixed layout of html popups on Windows and Linux under High DPI
- minihtml: Fixed crash when doctype is present
- minihtml: Fixed a crash from non-existent CSS vars
- minihtml: Fixed a crash triggered by bad image paths
- API: Add View.text_to_window() and View.layout_to_window()
- API: All API functions now accept and return device-independent-pixels
- API: Fixed input panel not running on_cancel when re-showing the input panel
- API: Fixed selector scoring with the & operator
- API: Fixed a bug causing incorrect phantom contents
- API: Fixed crash in Window.set_view_index()
- API: Updated OpenSSL to 1.0.2k, SQLite to 3.16.02
New in Sublime Text 3.0 Build 3126 Beta (Sep 23, 2016)
- Added Indexing Status to the Help menu to give more information about what the indexer is doing
- Fixed a compatibility issue with some third party syntax definitions that include JavaScript.sublime-syntax
- Reduced the default number of worker processes used for indexing. This can be manually controlled via the index_workers setting
- API: Updated OpenSSL to 1.0.2i
New in Sublime Text 3.0 Build 3124 Beta (Sep 22, 2016)
- Settings now open in a new window, with the default and user settings side-by-side
- Hovering over a symbol will show a popup indicating where it's defined. This is controlled with the show_definitions setting.
- Build errors are now shown inline at the location where they occurred. This is controlled with the show_errors_inline setting.
- Added a menu item and command palette entry to install Package Control
- Various syntax highlighting improvements.
- Significant improvements to the Scala syntax definition
- Significant improvements to the LaTeX syntax definition
- Improved Goto Definition performance when a large number of files are open
- Minor improvements to file load times
- Fixed Replace not working as expected in conjunction with regex look behinds
- Fixed build systems being unable to use "file_patterns" with the exec command
- Corrected tab overlap on HiDPI Windows and Linux configurations
- File encoding of open files is now stored in the session
- Build Systems may define a cancel command using the "cancel" key
- Syntax: Added clear_scopes directive, to give more control over the generated scopes
- Color Schemes: Added popupCss key, for defining default popup style sheets
- Color Schemes: Added phantomCss key, for defining default phantom style sheets
- minihtml: HiDPI support was added for Windows and Linux
- minihtml: Windows style line endings and single quoted attributes are now supported
- minihtml: Child selectors may now be used in style sheets
- minihtml: The inherit CSS value has been implemented
- minihtml: font-family stacks may now be used
- minihtml: Support for the line-height CSS property was added
- minihtml: Elements may now be relatively positioned
- minihtml: Inline elements support padding and background-color set
- minihtml: CSS variables and the var() function are now supported
- minihtml: Added the CSS color functions color() (partial), rgb(), rgba(), hsl() and hsla()
- minihtml: Fixed a stack overflow on Windows with too many unclosed tags
- API: Added Phantom and PhantomSet
- API: Added ViewEventListener
- API: Added View.is_primary()
- API: Added EventListener.on_hover(view, point, hover_zone)
- API: Added functions to get and set visibility of the minimap, status bar, tabs and menu
- API: Modifications to a selection are now constrained to the valid range
- API: Updated Python 3.3 to commit 8e3b9bf917a7, and SQLite to 3.14.1
- Packages: Loading packages will no longer abort if a .sublime-package is corrupt
- Packages: Fixed an edge case when loading third party packages from unicode paths on Windows
New in Sublime Text 3.0 Build 3114 Beta (May 13, 2016)
- New C++, JavaScript and Rust syntax definitions with improved accuracy and performance
- Many other syntax highlighting improvements
- Improved word wrap behavior
- Improved spell check behavior
- Improved file indexing behavior with multiple windows open
- Themes may now be switched on the fly without artifacts
- HTML: Pressing enter when between a tag pair will increase indentation
- Some snippets have have been moved into a sub-directories, so custom overrides and key bindings that reference them will need to be updated
- show_scope_name command shows the scope in a popup
- Package Development: Added 'Syntax Tests - Regex Compatibility' build variant for evaluating syntax definition performance
- Package Development: Expanded the set of regexes the new regex engine is able to handle
- Syntax Definitions: Fixed some cases where pop matches with back references weren't working correctly
- Fixed some Unicode handling issues in Goto Anything
- Fixed a scenario where changes to .tmPreferences files weren't being picked up
- Fixed a 3096 rendering performance regression
- Fixed a 3096 regression in regular expressions when using \x{nnnn} escapes
- Fixed a crash that could occur with an invalid result_file_regex settings
- API: Added window.status_message
- API: Changes to how plugins are loaded. This should be transparent, but resolves a number of corner cases
- API: Updated OpenSSL to 1.0.2h
New in Sublime Text 3.0 Build 3103 Beta (Feb 10, 2016)
- Added new Syntax Definition file format, .sublime-syntax
- Added a custom regex engine that matches multiple regexps in parallel, for faster file loading and indexing
- Improved Unicode support, including combining character rendering, character classification in regex searches, and case insensitivity in Goto Anything matching
- Packages are now on GitHub
- Incorporates many community provided improvements to the above packages, with significant improvements to HTML, CSS, JavaScript, Go, D and SQL
- Added Panel Switcher to status bar
- Better handling of troublesome files during indexing
- Improved file change detection
- Added "Profile Events" to the Command Palette, to help identify slow plugins
- Build Systems may now define a list of file name wildcard patterns to trigger on, via the file_patterns key
- prompt_open_file and related commands now accept an initial_directory argument
- Improved indenting behavior when indent_to_bracket is enabled
- Spell Checker now reads from manually edited user preferences on the fly
- Stability improvements for Find in Files when using regular expressions that result in significant backtracking
- Fixed file truncation when using hexadecimal encoding
- Fixed brackets in strings influencing auto indent
- Fixed inconsistencies in Goto Anything when selecting symbols
- Fixed tab completion regression in 3081, where h1..h6 HTML completions were not triggering
- Fixed Goto Definition command not working when placed in a submenu
- Windows: Added support for inserting characters from outside of the BMP
- Windows: ctrl+alt+p is no longer bound by default, due to compatibility issues with some keyboard layouts
- Windows: Updated code signing certificate to no longer use SHA1
- API: Added Window.is_sidebar_visible() and Window.set_sidebar_visible()
- API: Added View.is_auto_complete_visible()
- API: Added find_output_panel(), destroy_output_panel(), active_panel() and panels()
- API: Added create_output_panel() now accepts an optional parameter, "unlisted"
New in Sublime Text 3.0 Build 3083 Beta (Aug 17, 2015)
- Fixed high CPU usage caused by a corrupt index. This was occuring for some users upgrading from 3065
- Added setting index_workers to control the number of threads used for file indexing. By default the number of threads is based on the number of CPU cores. By setting index_workers to 1 or 2, indexing will be slower, but less intrusive
- Fixed a crash when showing the Command Palette with an empty .sublime-build file
- Tab completion no longer completes numbers. Edit/Show Completions can still be used for this
New in Sublime Text 3.0 Build 3080 Beta (Mar 24, 2015)
- Fixed Redo sometimes restoring the selection to the incorrect location
- Reworked how Build Systems are selected (More Information)
- Build Systems may now declare "keyfiles" (e.g., 'Makefile' for the Make build system) to better auto detect which build system to use
- Improved handling of build systems that generate lots of output
- New windows always use the automatic build system, rather than the build system of the last used window
- Command Palette now remembers the last entered string
- Improved change detection for files that disappear and reappear, as happens with disconnected network drives
- atomic_save is disabled by default
- Right clicking on a URL will show an "Open URL" menu item
- Added Goto Definition to the context menu
- Improved behavior of Goto Definition when using multiple panes
- Misspelled words can now be added to the dictionary, in addition to being ignored
- Fixed Ignored Words not persisting after exiting
- Fixed a long standing issue with spell checking and non-ascii characters
- Added spelling_selector setting, to control what text is checked for misspellings
- Tweaked handling of syntax definitions and unused captures, resolving an issue with spell checking in Markdown links.
- Goto Anything supports :line:col syntax in addition to :line
- Added Edit Project to the Command palette
- Improved quote auto pairing logic
- Added option to Find in Files
- Improved Console Panel scrolling behavior
- .tmLanguage files may contain a hidden setting, to indicate they shouldn't be displayed to the user
- Improved some error messages when parsing .tmLanguage files
- remember_open_files setting is now defaults to false. Note that this change will have no effect if the hot_exit setting is left at its default value of true
- Added auto_complete_cycle setting
- Fixed Minimap refusing to draw on very large windows
- Fixed not being able to click on the selected row of the auto complete popup
- Fixed sidebar icons sometimes being invisible on startup
- Transient sheets (e.g., as created by Goto Anything when previewing files) are no longer added to the Recently Closed list
- Improved scrolling behavior when line_padding_top is > 0
- Fixed a bug with scrolling tabs, where a 1 pixel line would occasionally appear underneath them
- Fixed tabset background being set to the wrong color on startup if different colored tabs are used
- Updated to a never version of leveldb, fixing constant low level CPU usage if the index becomes corrupted
- Fixed a crash that could occur when directories are being rapidly deleted and recreated
- Fixed a crash that occurred when dragging rows scrolled out of view in the side bar
- Fixed a long standing plugin_host crash triggered via modal dialogs
- Fixed a typo in the "Save Workspace As" dialog
- Fixed incorrect menu mnemonics
- Linux: Added sudo save
- Windows: Popup windows are able to receive scroll wheel input
- Windows: subl.exe command line helper accepts wildcards
- Windows: Fixed access denied errors that could occur when saving with atomic_save disabled
- Windows: Added workaround for broken std::condition_variable in MSVC 2012, fixing a crash in plugin_host
- Windows: Added more descriptive errors when the Update Installer fails to rename a folder
- Windows: Fixed incorrect window sizing after making a maximised window full screen
- OSX: Added work around for performActionForItemAtIndex: taking an excessively long time in Yosemite. This affected any commands that had a corresponding menu item.
- OSX: Workaround for an OS issue with zero size windows and OpenGL views
- OSX: subl command line tool no longer uses Distributed Objects, resolving some intermittent failures
- Posix: Fixed new files not respecting the umask permission flags
- API: Added View.show_popup() and related functions
- API: Added sublime.yes_no_cancel_dialog()
- API: Added sublime.expand_variables()
- API: Added Window.extract_variables()
- API: Added Sheet.view()
- API: Window.show_quick_panel() now accepts the flag sublime.KEEP_OPEN_ON_FOCUS_LOST
- API: Window.show_quick_panel() will now scroll to the selected item when shown
- API: Fixed on_post_window_command() not getting called
New in Sublime Text 3.0 Build 3065 Beta (Aug 29, 2014)
- Added sidebar icons
- Added sidebar loading indicators
- Sidebar remembers which folders are expanded
- Tweaked window closing behavior when pressing ctrl+w / cmd+w
- Improved quote auto pairing logic
- Selected group is now stored in the session
- Added remember_full_screen setting
- Fixed a lockup when transitioning from a blinking to a solid caret
- Fixed a crash in plugin_host
- Fixed a crash triggered by Goto Anything cloning views
- Windows: Added command line helper, subl.exe
- OSX: Added 'New Window' entry to dock menu
- Posix: Using correct permissions for newly created files and folders
- API: Updated to Python 3.3.3
New in Sublime Text 3.0 Build 3059 Beta (Dec 18, 2013)
- Added tab scrolling, controlled by the enable_tab_scrolling setting
- Added image preview when opening images
- Encoding and line endings can be displayed in the status bar with the show_encoding and show_line_endings settings
- Added settings caret_extra_top, caret_extra_bottom and caret_extra_width to control the caret size
- Added index_exclude_patterns setting to control which files get indexed
- Automatically closing windows when the last tab is dragged out
- Changed tab close behavior: the neighboring tab is now always selected
- When the last file is closed, a new transient file is created automatically
- Ctrl+Tab ordering is stored in the session
- Added minimap_scroll_to_clicked_text setting
- Improved error messages when unable to save files
- Auto complete now works as expected in macros
- Minor improvements to Python syntax highlighting
- Vintage: A block caret is now used
- Vintage: Improved behavior of visual line mode with word wrapped lines
- Find in Files will no longer block when FIFOs are encountered
- Linux: Added menu hiding
- Linux: Fixed incorrect handling of double clicks in the Find panel
- Linux: Fixed incorrect underscore display in some menus
- Posix: Fixed new files being created with unexpected permissions
- Windows: SSE support is no longer required for 32 bit builds
- API: Window.open_file now accepts an optional group parameter
- API: Plugins may now call Settings.clear_on_change() within a callback from Settings.add_on_change()
- API: Calling Settings.add_on_change() from within a settings change callback won't cause the added callback to be run
New in Sublime Text 2.0.2 Build 2221 (Jul 8, 2013)
- Removed expiry date
- Backported various fixed from Sublime Text 3
- Improved minimap click behavior. The old behavior is available via the minimap_scroll_to_clicked_text setting
- Added copy_with_empty_selection setting, to control the behavior of the copy and cut commands when no text is selected
New in Sublime Text 3.0 Build 3047 Public Beta (Jun 29, 2013)
- Beta is now open to non-registered users
- Added High DPI support
- Improved file change detection
- Improved rendering performance
- HTML tag auto completion is better behaved in script tags
- Fixed a crash on exit that could occur when hot_exit is disabled
- Auto updater supports updating from unicode paths
- API: Plugins in zip files are able to be overridden via files on disk
- API: Fixed Selection.contains
- API: Fixed settings objects getting invalidated too early with cloned views
New in Sublime Text 3.0 Build 3033 Beta (May 10, 2013)
- New auto update system for Windows and OS X
- Previewing a file from the side bar will no longer add an entry to the OPEN FILES section of the side bar
- Added Paste from History
- Added setting 'auto_find_in_selection', for S2 style Find in Selection logic
- Find panel has a drop down arrow to select previous items
- Pressing right in the Goto Anything overlay will open the selected file without closing the overlay
- Fixed several crash bugs
- Further startup time improvements
- Improved HTML completions when typing outside of tags
- Fixed Close Tag not respecting self closing tags
- PHP: Improved auto indenting for the alternative control syntax
- Added setting always_prompt_for_file_reload
- Improved handling of deleted files when restoring sessions
- Deleting a file via the side bar will first close the corresponding view, if any
- "Remove all Folders from Project" now prompts to confirm
- Added telemetry. Telemetry is disabled by default, but can be turned on with the enable_telemetry setting
- Using Google Breakpad to automatically report crashes
- Updated syntax highlighting for PHP, Haskell and Pascal
- Symlinks are followed by default in folders added to the side bar
- Windows: Fixed erroneous entries in system menu
- Windows: New style Open Folder dialogs are used on Vista and later
- API: Significantly improved communication speed with plugin_host
- API: Added view.close()
- API: Added view.show_popup_menu()
- API: Added is_valid() method to view and window, to determine if the handle has been invalidated
- API: Added on_post_text_command and on_post_window_command
- API: on_text_command and on_window command are now called when the menu is used
- API: Added sublime.get_macro()
- API: view.substr(point) now has the same semantics as S2 for out of bounds addresses
- API: view.command_history(0, True) now returns the last modifying command, as expected
New in Sublime Text 2.0.1 Build 2217 (Jul 14, 2012)
- Keyboard input while dragging a selection will cancel the drag
- Improved backspace behavior when use_tab_stops and translate_tabs_to_spaces are true
- Improved shift+drag behavior
- Improved double click drag select behavior
- About Window shows the license key details
- Fixed a Goto Anything issue where pressing backspace could scroll the overlay incorrectly
- Fixed a crash triggered by double clicking in the Goto Anything overlay
- Fixed incorrect window position when dragging a tab in some scenarios
- Added missing toggle_preserve_case command
- word_wrap setting accepts "true" and "false" as synonyms to true and false
New in Sublime Text 2.0 Build 2210 (Jun 26, 2012)
- Added "Quick Skip Next", on Command+K,Command+D / Ctrl+K,Ctrl+D
- Added text drag and drop
- Reloading a file maintains the selection
- Theme: Added support for the highlight_modified_tabs setting
- Added setting show_full_path, to control if the full path is shown in the window title
- Added setting bold_folder_labels
- Windows: Installer is signed
- Windows: Directory scanning makes use of inodes where available
- Windows: Files are opened with the FILE_SHARE_DELETE share mode
- Windows: Fixed a regression in command line handling with network paths
- Tweaked command line handling when Sublime Text isn't already running
- Reworked CSS completions
- Improved Toggle Comment for HTML and CSS
- Added Open in Browser context menu for HTML files
- Saving a file now calls fsync to ensure the data is written to disk
- Added support for file_include_patterns and folder_include_patterns in projects
- Find in Files can exclude directories using "-some_path/" syntax
- Added BOM variants to the Save with Encoding menu
- Added setting preview_on_click
- Improved Indentation Detection
- ASCII control codes are rendered in a different style
- Auto complete and tool tips say within the screen boundaries
- Double clicking in the tab header area will create a new tab
- Delete Folder will prompt before moving the folder to the trash
- Double clicking on whitespace will select only whitespace
- Theme: Added 'expandable' attribute to tree_rows, enabling folders to be styled differently
- Theme: Tweaked quick panel to better indicate the selected item
- Disabling find result highlighting will also disable find-as-you-type in the Find panel
- Pressing escape in the incremental find panel will set the selection to the search start point
- Extended behavior of home and end keys on word wrapped lines
- Changes in file name case are detected in the side bar
- Fixed save_on_focus_lost causing Goto Anything to not show if the current file has unsaved changes
- Fixed folders not being added to the recent folders list
- Fixed rendering of active indent guides
- Fixed pasting file:line expressions into the Goto Anything panel
- Invalid key names in keymap files will are logged to the console
- Build Systems: Added variants
- Build Systems: Improved debug output of the exec command when the target isn't found
- Build Systems: Added show_panel_on_build setting
- Build Systems: Build times are reported
- Build Systems: Exit code is reported, if it's non-zero
- Build Systems: Improved output panel height serialization
- Build Systems: Canceling a build will terminate rather than kill the process
- Vintage: Added backspace motion
- Vintage: Improved quote text object
- Vintage: Added Ctrl+U and Ctrl+D
- Vintage: 'vintage_use_clipboard' forces pasting from system clipboard too
- Vintage: Fixed motions with "0" in them for actions
- Vintage: Visual mode I and A
- Vintage: Added vintage_use_clipboard setting to yank to the system clipboard
- Vintage: Tweaked behavior of cw and cW when the caret is in whitespace
- Vintage: Added bindings for moving the group focus up, down, left, right
- Vintage: Paste accepts a repeat count
- Vintage: Added bindings for u and U in visual mode, to change the case of the selection and exit visual mode
- Vintage: Macro replay accepts a repeat count
- Vintage: r processes lines individually
- Vintage: Tweaked % behavior
- Vintage: Fix bug that caused deletes to erroneously left_delete
- Vintage: Fix EOF behavior with linewise changes
- Vintage: Ignoring a and i when in visual mode
- Vintage: cc and S take counts
- Vintage: Correctly shrink selections when reversed
- Vintage: Added vap
- API: Added sublime.message_dialog()
- API: Added sublime.ok_cancel_dialog()
- API: Added Command.is_checked() to support checkbox menu items
- API: Added sublime.log_result_regex()
New in Sublime Text 2.0 Build 2181 Beta (Feb 22, 2012)
- New Icon, by The Iconfactory
- File and Global settings have been combined into a single settings file
- Selecting a word will highlight other occurrences. This can be controlled with the match_selection setting
- Reworked text rendering for improved quality
- Improved automatic indentation. It now uses bracket matching to better determine indentation
- Added setting indent_to_bracket and smart_indent, to customize automatic indentation
- Auto Complete is less intrusive
- Renaming a file via the side bar will rename any open files
- Improved folder scanning performance on huge directory trees
- Untitled files have their name set automatically from the first line of the file. The can be controlled with the set_unsaved_view_name setting
- Ruby: #{} is expanded when # is entered in a string
- Folder names are shown in the window title if no project is open
- Folders in projects are stored with relative paths
- Added Save with Encoding
- Spelling errors are indicated with an underline only, the foreground color of the text is no longer changed
- Added no_bold and no_italic font options
- Added margin setting, to control the size of the gutter
- Key bindings for Goto Anything, Save, etc will work if a panel has input focus
- "Open all with current extension as" handles filenames without extensions
- Fixed an auto complete display issue
- Fixed find_under_expand not setting whole_word correctly
- Fixed Paste and Indent adding unwanted whitespace when pasting within a line
- Fixed a minor compatibility issue with .tmLanguage files
- Fixed a tab dragging issue on OS X and Windows
- Windows: Default font is now Consolas
- Windows: Improved text rendering quality when using Direct Write
- Windows: Added support for --wait
- Windows: Added support for drive letter relative paths passed on the command line
- Windows and Linux: Added key bindings for ctrl+shift+backspace/delete
- Vintage: Escape cancels current input (thanks fjl)
- Vintage: Pasting over visual mode selections works as expected (thanks misfo)
- Vintage: Linewise changes set indentation (thanks misfo)
- Vintage: Linewise motions work as expected (thanks misfo)
- Vintage: c, C, s and S update registers (thanks misfo)
- Vintage: Tweaks to G and gg (thanks guillermooo)
- Vintage: Added zt and zb (thanks djjcast)
- Vintage: Added gq (thanks orutherfurd)
- Plugin initialization time is reported in the console at startup
- API: Tweaked module importing
- API: Added window.find_open_file(file_name)
- API: Added sublime.run_command()
- API: Added view.unfold([regions])
- API: Added view.folded_regions()
New in Sublime Text 2.0 Build 2165 Beta (Feb 22, 2012)
- Theme: New UI theme
- Added support for bold and italic font styles
- Speed: Improved startup time
- Speed: Optimized memory usage
- Speed: Improved font glyph rasterization speed
- Rearranged the menu, making important features are easier to locate
- Auto complete: Completion menu is shown automatically. This is configurable with the auto_complete file setting
- Auto complete: Tab can be used instead of enter to accept the current completion, by using the auto_complete_commit_on_tab file setting
- Auto complete: Many quality improvements
- Tab Completion: Pressing tab multiple times will cycle through the available completions
- Added reopen_last_file command, bound to Command+Shift+T / Ctrl+Shift+T
- Deleting files via the side bar will send them to the trash, rather than deleting them outright
- Improved behavior when hot_exit and remember_open_files are false
- Color schemes and syntax definitions are reloaded on the fly
- Paste and Indent will now do the right thing in more circumstances
- save_on_focus_lost won't save if the underlying file has been deleted
- Added key binding for replace_next
- slurp_find_string will set the whole_word flag based on if the selection is empty
- Added file setting move_to_limit_on_up_down. This is enabled by default on OS X.
- Shift+Drag will set the active end of the selection as expected
- Clicking on a tab will always give the relevant sheet input focus
- Simplified indent guide settings, and disabled active indent guide drawing by default. The indent_guide_options file setting can be used to change this
- Improved minimap dragging
- increase_font_size command will allow sizes up to 128pt
- Changed how the toggle argument to show_panel is handled
- Files with colons in their names may be opened from the command line
- Fixed handling of selectors with extraneous '.' characters
- File Encoding: Added default_encoding setting
- File Encoding: Added Hexadecimal encoding, for basic editing of binary files. This is controlled with the enable_hexadecimal_encoding global setting
- Projects: Folders may be given a name attribute, to change how they're displayed
- Projects: Exclude patterns may include paths, for example: file_exclude_patterns: ["tmp/*.cc"]
- Projects: .sublime-project files passed on the command line will be opened as projects, without --project being required
- Projects: Folder paths with trailing slashes are supported
- Projects: Fixed folder_exclude_patterns not being serialized correctly in project files
- Vintage: Column is maintained when moving between lines
- Vintage: == reindents current line (thanks Gordin)
- Vintage: Added ZZ (thanks Guillermooo)
- Vintage: Added X command (thanks misfo)
- Vintage: Added _ command (thanks redjohn)
- Vintage: Added ~ (thanks misfo)
- Vintage: r,enter is supported (thanks misfo)
- Vintage: Added various Ctrl+W, bindings for layout control (thanks Gordin)
- Vintage: Added various z, bindings for folding (thanks Gordin)
- Vintage: _ accepts a count (thanks guillermooo)
- Vintage: Ctrl+C is a synonym for escape on OS X(thanks sugarcoded)
- Vintage: dw works as expected at EOL
- Vintage: Fixed an issue with the zz key binding (thanks Bradley Priest)
- API: Plugins have a finite time to respond to events before users will be issued a warning indicating the slow plugin
- API: Added sublime.log_input()
- API: Added view.encoding() and view.set_encoding()
- API: Added view.line_endings() and view.set_line_endings()
- API: Added view.viewport_position() and view.set_viewport_position()
- API: Added view.viewport_extent() and view.layout_extent()
- API: Added view.text_to_layout() and view.layout_to_text()
- API: Added view.line_height() and view.em_width()
- API: Added window.active_view_in_group(group)
- API: Added window.views_in_group(group)
- API: Added window.get_layout() and window.set_layout()
- API: Added window.get_view_index() and window.set_view_index()
- API: settings.has() now works as expected
- API: on_query_completions results may have a tab embedded in their descriptions, to delimit help text
New in Sublime Text 2.0 Build 2139 Beta (Nov 2, 2011)
- Added Replace in Files functionality to the Find in Files panel
- Find in Files panel now has a single "Where" field, combining the previous "In Files" and "In Location" fields
- Added fold buttons to the gutter. They can be customized with the fold_buttons and fade_fold_buttons file settings
- Added keyboard navigation to the side bar
- Re-added and improved side bar expand / collapse animations. This can be controlled with the tree_animation_enabled global setting
- Alt clicking a folder in the side bar will expand it and all its children
- The reindent command can be used to reformat selected lines, via the Edit/Line/Reindent menu item
- Improved startup time in some scenarios
- Windows and Linux: Ctrl+Scroll Wheel will change the font size
- Ctrl+F will select the find pattern when the find panel is already open
- The show_panel command now accepts a toggle parameter, which is false by default. The previous behavior was to always toggle
- Pressing escape while dragging a scroll bar will cancel the scroll
- Fixed a Ctrl+D/Super+D regression, where wrapping at EOF wasn't handled correctly
- Fixed a Find in Files regression where unsaved files couldn't be opened from the Find Results buffer
- Fixed a crash that could occur when trying to drag a closed panel
- Fixed a rare crash that could occur after moving a file between windows
- Vintage: Added '=' action to reindent
- Vintage: 'o' in visual mode will reverse the selection direction (by Guillermo)
- Vintage: Added support for the "'" key to go to bookmarks (by Guillermo)
- Vintage: Escape will exit visual line mode, instead of changing to visual mode
- Vintage: Added gf (by Guillermo)
- Vintage: Added z. and z,enter (by Guillermo)
- Vintage: Added zz (by Johnfn)
- Vintage: Added "{" and "}" motions (by Johnfn)
- Vintage: Fixed a regression with escape in 2126, causing it not to exit from visual mode
- API: window.run_command() will run text commands, dispatching them via input focus
- API: hide_auto_complete is safe to call from on_modified
New in Sublime Text 2.0 Build 2126 Beta (Sep 28, 2011)
- Hot Exit is now the default, and configurable via the hot_exit global setting
- Added Code Folding, see the Edit/Coding Folding menu for details. More folding options will be added in the future.
- Find in Files results are colored for better visibility
- Matching tags are highlighted
- Improved word wrapping of source code: extra indentation is now added on wrapped lines
- Added global setting highlight_modified_tabs to better indicate tabs with unsaved changes
- Goto Anything: Improved ranking accuracy on repetitive file paths
- Goto Anything: Files are now displayed in most recently used order, and shown by default
- Side Bar: The side bar will auto hide if open files aren't shown, and there are no open folders
- Side Bar: Disabled animation on expand/collapse
- Side Bar: Headings are no longer indented
- Side Bar: Clicking on a folder will expand or collapse it, rather than selecting it
- Side Bar: Open files are now hidden by default
- Side Bar: The current file is highlighted in both the Open Files and Open Folders sections, if present
- Side Bar: Folders will be expanded by default
- The find highlight outline color now has a better default, and is configurable via the highlight key in the color scheme
- Ctrl+F3 will search by whole words if the selection is empty
- Ctrl+D will search by whole words if the selection is initially empty
- Find All no longer disables the "In selection" flag
- Find Preview will not be shown if finding for "." in regex mode
- Find Next Using Selection unsets the reverse flag
- Find in Files accepts relative paths
- Projects: File names in workspaces are stored with relative paths
- Projects: Fixed project specific settings persisting when the project is closed
- Indent Guides: Fixed solid indent guides not rendering crisply with sub-pixel glyph positioning
- Indent Guides: Fixed indent guide rendering and word wrapping in conjunction with Perl syntax highlighting
- Ctrl+Tab will only cycle between files in the current group
- Improved undo grouping logic, so the amount of typing undone is more predictable
- Added Expand Selection to Indentation (Ctrl+Shift+J)
- Expand Selection to Tag will handle unclosed tags
- Fixed rot13 tripping up on non-ascii characters
- Vintage: Find no longer selects the found text
- Vintage: Arrow keys, page up/down and home/end act as motions
- Vintage: All Ctrl key bindings are now enabled only if the vintage_ctrl_keys setting is true, which is the default for OS X, but not Windows and Linux.
- Vintage: Ctrl+[ is now an alias for escape (if vintage_ctrl_keys is enabled)
- Vintage: Added Ctrl+E and Ctrl+Y, to scroll up/down by lines, if vintage_ctrl_keys is enabled.
- Vintage: I will insert at the first non-whitespace character on the line
- Vintage: Added ga
- Vintage: Improved H, L and M motions
- Vintage: 1G and G are distinguished
- Theme: Tabs with modified files now have a "dirty" attributes that can be used in selectors
- Theme: Added key indent_top_level for the sidebar_tree class
- API: Added view.fold() and view.unfold()
New in Sublime Text 2.0 Build 2111 Beta (Aug 31, 2011)
- Added indentation guides. These may be disabled with the draw_indent_guides setting
- Added syntax, indentation, and spell checking information to the status bar
- Added Vintage mode, for vi key bindings in Sublime Text 2
- Added Expand Selection to Tag (Ctrl+Shift+A)
- Added Close Tag (Alt+. on Windows)
- Projects are now stored in two files: .sublime-project (user editable, can be checked into version control) and .sublime-workspace (containing the session state). Existing project files will be converted on load.
- Projects: Folders in projects may be given file_exclude_patterns and folder_exclude_patterns
- Projects: Per-project file settings may be specified in the .sublime-project files
- Projects: Build systems may be specified within .sublime-project files
- Projects: Open Project and Recent Projects open the project in a new window
- Added File/Open Folder, to open a folder in a new window. These entries will appear in the Open Recent list.
- Passing folders on the command line will open them in a new window by default
- Shift+Tab will always unindent when the caret is at the beginning of the line
- Tweaked Delete Word
- Tweaked behavior of up/down with non-empty selections
- Build is now bound to Ctrl+B Windows and Linux (Command+B on OS X, as it was previously). F7 is also bound to build on all platforms.
- Toggle Side Bar is now bound to Command+K, Command+B on OS X, and Ctrl+K, Ctrl+B on Windows and Linux
- Added the ability to hide the open files section on the side bar, via the View/Side Bar menu
- Added global setting close_windows_when_empty, to close windows as soon as the last file is closed.
- Find and replace panels operate via commands, and indicate the relevant key bindings on the buttons
- Updated C syntax highlighting
- Updated Bash highlighting
- fallback_encoding is respected by Find in Files
- The copy command is now recorded in macros
- Resolved a syntax highlighting issue in contentName handling
- Fixed a crash that could occur with replace in selection
- Fixed an issue that could result in an incorrect scroll range when scroll_past_end is enabled
- Fixed incorrect tab positions in some circumstances
- Fixed an issue that could erroneous carets in the replace panel
- Middle clicking on tab close buttons is no longer ignored
- Windows: Fixed delay when opening multiple files from Explorer
- Windows: Fixed Open Containing Folder for files in root directories
- API: Added Command.description()
- API: Added sublime.score_selector(scope, selector)
- API: Added view.score_selector(point, selector)
- API: Added view.find_by_selector(selector)
- API: view.scope_name() now returns scope components in the expected order. view.syntax_name() is still available for compatibility.
- API: Added sublime.get_macro()
- API: Added sublime.MONOSPACE_FONT option for the quick panel
- API: If a plugin module has a top level function called unload_handler, it'll be called when the plugin is reloaded or unloaded.
- API: Fixed a crash when reloading plugins while threads are active
- API: API functions better handle null windows
New in Sublime Text 2.0 Build 2095 Beta (Aug 3, 2011)
- Improved labeling in Preferences menu
- Added context menu key support (alt+F2 in OS X)
- Files opened from the command line use the last active window on any virtual desktop, rather than only looking on the current virtual desktop
- Windows without open files now display the project name
- Fixed a scenario where tabs would be incorrectly positioned
- Fixed a scenario where Jump to Matching Bracket could cause the carets to not update
- Changed Preferences menu mnemonic from 'r' to 'n', to remove a conflict with the find panel
- Dialogs now accept both the normal enter/return key and the one one the keypad
- API: Fixed a crash when calling view.run_command("save") on a background view
- API: Added view.command_history()
- API: Added Settings.add_on_change() and Settings.clear_on_change()
New in Sublime Text 2.0 Build 2091 Beta (Jul 29, 2011)
- Carets blink by default (can be changed with the caret_style file setting).
- Files with the same name, but different directories, now have unambiguous labels in the side bar and tabs
- New windows are created with the settings and size of the previous window. This supersedes the new_window_settings.
- duplicate_line will operate on non-empty selections, duplicating the selection
- Added global setting show_tab_close_buttons
- Added Reveal in Side Bar context menu item
- Added Tools/New Snippet menu item
- Added menu items for syntax specific settings and distraction free settings
- Fixed performance issues with SQL and JavaScript syntax highlighting on files with long lines
- shellVariables values specified in .tmPreferences files are available to snippets, fixing many Rails snippets.
- Dropped files will be opened in the pane they're dropped on
- Added global setting binary_file_patterns, to exclude files from Goto Anything and Find in Files
- Commands may be passed as arguments via --command
- Enabling scroll_past_end in Distraction Free.sublime-settings
- Line highlights are disabled by default
- Improved scrolling logic when working with cloned files, and resizing word wrapped files
- Improved behavior of page up / page down
- Improved Toggle Comment behavior on empty selections for languages without line comments
- Find in Files: 'Use Buffer' is now selected by default
- "New Folder" menu item can create multiple folders at once
- Panel heights are stored in the session
- Goto Symbol is able to display symbols with forward slashes
- Fixed scenario where characters with a background color could be drawn clipped
- Fixed a scenario that could result in Goto Anything rows appearing in the wrong location
- Fixed Goto Line not updating the status bar
- Fixed Goto Symbol not updating the status bar
- Windows: Save As dialog will prompt to overwrite files
- Windows: Fixed a scenario where the update notification dialog could be missed
- Using a bullet, rather than an asterisk, to indicate dirty files
- Theme: Tab labels fade rather than elide, and are better positioned to make use of available space
- Theme: Images are reloaded on the fly
- Theme: Added a 1px border to the right of the side bar
- Theme: Added new classes sidebar_container, overlay_control and sheet_container_control
- Theme: Minimap viewport color is themeable, via the minimap_control class
- Theme: Theme specific widget settings are now used, via Widget - .sublime-settings
- Theme: Buttons now use standard label controls for their text
- Theme: Label controls now have properties font.face, font.size, font.bold, font.italic, shadow_color and shadow_offset
- Theme: Layers now have a repeat property
- Theme: Controls that used to use 'background_color' now use layers instead
- API: Added window.views()
- API: More strictly enforcing the main thread only usage restriction
- API: show_input_panel() will run its callbacks at a time when they're able to show panels and overlays
- API: Changed handling of on_query_completion results with an empty trigger
- API: Added window.hwnd() (Windows only)
New in Sublime Text 2.0 Build 2076 Beta (Jul 1, 2011)
- Relabeling from Alpha to Beta
- Added Command Palette (Windows and Linux: Ctrl+Shift+P, OSX: Command+Shift+P)
- Added Distraction Free mode (accessible via View/Enter Distraction Free Mode)
- Selected text is rendered with syntax highlighting, unless the color scheme specifies a selectionForeground key
- Added a progress bar when loading files
- Added a key binding to wrap the selection in a tag (Windows and Linux: Alt+Shift+W, OSX: Ctrl+Shift+W)
- Monokai is now the default color scheme, rather than Monokai Bright
- Added a File/Close All menu item
- Folders may now be dropped anywhere on the window, not just on the side bar
- Improved selection and line highlight rendering
- Selection border color can be customized in .tmTheme files with the selectionBorder key
- Find highlight color will default to yellow if a color scheme doesn't specify one
- Added encode_html_entities command (accessible via the Command Palette)
- Added rot13 command (accessible via the Command Palette)
- Added shift_tab_unindent setting, to force shift+tab to unindent even without a multi-line selection
- Added setting ensure_newline_at_eof_on_save
- Increased search limit for the Jump to Matching Bracket command
- Improved auto-indent behavior in the face of mixed indentation
- Improved toggle block comment on an empty selection
- Tweaked auto-pairing rules
- Fixed Add Line Before adding indentation on lines where there should be none
- Fixed issue when using Find/Replace with back references and a reversed search direction
- JavaScript: Added support for node.js shebangs
- Improved the HTML completions for link and style
- Shell Script: Fixed file type associations
- Added Toggle Comment support for YAML
- Fixed shutdown not proceeding while folders are being scanned
- Fixed spell checking for words with non-ascii prefixes or suffixes
- Fixed a quirk when using Goto Anything, typing, and then clearing the text box
- Fixed the minimap initially showing at the wrong size on new files
- Fixed a scenario where the label and close button on a tab would be in the wrong spot
- Fixed a rare crash that could occur after closing a file, then changing layout
- Windows: Improved support for menu hiding
- Build Systems: Current directory when building will default to the file's directory if none is specified in the build system
- Build Systems: result_line_regex may specify a column and message (using the 2ed and 3rd capture groups)
- insert_snippet command: extra arguments passed to the command will be forwarded onto the snippet
- The auto_complete command now takes an optional disable_auto_insert argument
- API: Added window.show_quick_panel()
- API: Added sublime.platform() and sublime.arch()
- API: Added window.focus_view()
- API: Improved the behavior of tab completion in conjunction with on_query_completions returning non-word triggers
- API: Calling run_command() from Python will no longer bypass is_enabled() checks
- API: Fixed view.replace() scrolling the view
New in Sublime Text 2.0 Build 2065 Alpha (Jun 28, 2011)
- Improved cold startup time
- Added key bindings to toggle find options, which are shown in the tool tips
- Find: The number of matching occurrences is indicated in the status bar
- Find: Found text is highlighted in a separate color
- Added "Reopen with Encoding" menu
- Updated Scala package
- Added Clojure syntax highlighting
- Added Haml syntax highlighting
- Added reStructuredText syntax highlighting
- Syntax menu is now organized by package
- Improved .tmLanguage file compatibility with regards to 0 length matches in rules
- Added 'theme' global setting
- Themes are automatically reloaded
- Theme selectors are more powerful, and can now select based on the classes and attributes of parents
- Color Schemes: Added inactiveSelection and inactiveSelectionForeground keys
- Added Solarized color schemes
- API: Added Window.num_groups(), Window.active_group(), and Window.focus_group(group)
- API: Added Window.folders(), to access the currently opened folders
- API: Region rendering will use the foreground and background colors for a given scope if both are specified in the tmTheme file
- Fixed UI glitch with the replace panel and empty replacement strings
- Fixed a crash with very large or very small font sizes
New in Sublime Text 2.0 Build 2059 Alpha (Jun 10, 2011)
- Added smooth scrolling
- Added spell checking
- Tab Completion is enabled by default. Shift+Tab can be used to insert a literal tab
- Pressing Ctrl+Space after a tab completion will adjust the last completion, rather than starting a new one
- Tab completion is smarter about when to insert a completion, and when to insert a tab
- Auto complete is now case insensitive
- Added global setting, remember_open_files
- Disclosure buttons on the tree control have a larger target area
- Tweaked tab header background for improved contrast
- Status bar column display correctly accounts for tabs
- Fixed an issue with scrollbars on small files
- Shift+Mouse wheel scrolls horizontally
- Recent files no longer appear in the Goto Anything list
- Improved startup time
- Updated HTML completions
- Updated path handling in exec.py
New in Sublime Text 2.0 Build 2051 Alpha (Jun 10, 2011)
- Bracket matching is smarter, and will ignore brackets in comments and strings
- Added ":;" pairing in CSS
- Reworked Layout menu
- Scroll bar pucks are rendered with subpixel precision
- Windows: Moving to the right by words will stop at the end of words, rather than the beginning
- "Remove Folder" is now "Remove Folder from Project"
- Fixed ordering of the Default package
- Fixed Wrap Paragraph not correctly accounting for leading whitespace
- API: Added sublime.version() and sublime.channel()
- API: Fixed view.set_status() and view.erase_status() not refreshing the status bar
New in Sublime Text 2.0 Build 2047 Alpha (Jun 10, 2011)
- Fixed mouse input regression in the license window and the select project window
New in Sublime Text 2.0 Build 2046 Alpha (Jun 10, 2011)
- Added a side bar menu, with the ability to do basic file manipulation
- Snippets with punctuation triggers are supported again
- Improved automatic snippet field cancellation
- Added Show Unsaved Changes context menu item
- Reworked keyboard input
- Mouse buttons can be configured via the new *.sublime-mousemap files
- Windows: Right mouse + scroll wheel will change files
- Mouse buttons 4 and 5 will change files
- Rotating the mouse wheel in the tab header area will change tabs
- Ctrl+W will close the window if no files are open
- Ctrl+Shift+W will close the window
- Quote auto-pairing is smarter, and will do the intended thing more often
- Added find_selected_text file setting
- Packages may add items to menus, including the main menu, context menu, and side bar menu
- Main.sublime-menu is automatically reloaded when changed
- Added New Plugin and New Build System menu items
- Build files may specify environment variables, using the env key
- Added build_env file preference, which will be picked up by the build system
- Add Line Before will insert the correct amount of indentation
- Tweaked status message display
- Tweaked switch_file
- Disabled typing while dragging
- Added diff syntax highlighting
- Fixed regression in 2036 that caused unsaved file indicators to not show in the title bar
New in Sublime Text 2.0 Build 2039 Alpha (Jun 10, 2011)
- Show minimap setting is respected when cloning
- Fixed flicker that could occur when showing the auto complete window
New in Sublime Text 2.0 Build 2036 Alpha (Jun 10, 2011)
- Tab completion is now off by default, but can be turned back on with the new tab_completion setting
- Added File/Clone File menu item
- Showing the project in the title bar
- Populating file types in Open and Save dialogs
- Ctrl+Shift+K will delete the current line (all platforms)
- Improved delete_word command, it will now delete a word and a neighboring space when it makes sense to do so
- Added Wrap Paragraph command (Alt+Q on Windows and Linux)
- Updated PHP completions, with thanks to vostok4
- Build systems support a key containing platform specific settings ("windows", "osx" or "linux")
- Build systems support an optional "target" setting, which defaults to "exec". This specifies the command that will be run when the build system is triggered
- Fixed the selector field in .sublime-build files not being interpreted correctly
- Corrected the file_regex in Make.sublime-build
- Fixed a crash bug that could occur when using Ctrl+P with save_on_focus_lost enabled
- Fixed serialization of large numbers in settings files
- Documentation: Added API Reference
New in Sublime Text 2.0 Build 2032 Alpha (Jun 10, 2011)
- Opening files no longer does any blocking IO in the main thread; working with remote files is much better now
- Goto Anything gives file previews a short time to load before displaying them, reducing flicker from asynchronous loading
- Reworked snippets and auto complete into a unified system
- Word completions can be inserted by pressing tab
- Added .sublime-completions file format, for pre-defined completions
- Added completion entries for HTML and PHP
- Added new setting, save_on_focus_lost, to automatically save files when switching applications
- Improved font glpyh generation speed
- Folder scanning is faster
- Content based syntax detection now takes a lower precedence to the file extension based detection
- next_view / prev_view commands won't update the stack until the modifier keys are released
- In the replace panel, ctrl+alt+enter will perform a replace all
- Windows: Hide Menu is now restored correctly on startup
- Fixed default_line_ending not being applied to empty files
- API: Added auto complete API, EventListener.on_query_completions()
- API: Added on_activated(view) and on_deactivated(view)
- API: save and prompt_save_as commands are accessible from the view
New in Sublime Text 2.0 Build 2027 Alpha (Jun 10, 2011)
- Added bookmarks
- Opened folders are kept synchronized with the file system
- Individual folders can be removed via their context menu
- Folders are loaded incrementally. Refresh Folders also works incrementally, and will not reset the expanded/collapsed state of the folder tree
- Goto Anything: the ranking function will try harder to find the best match for each file
- Added for emacs style marks, via commands set_mark, select_to_mark, delete_to_mark and swap_with_mark. Marks interact well with multiple selections.
- Added an emacs style kill ring, and a corresponding yank command.
- Added command show_at_center, which scrolls the view to center on the selection. This is bound to Ctrl+K, Ctrl+C on Windows
- Added Word Wrap Column menu
- Added Ruler menu
- Any keys bound to move by lines will take effect in Goto Anything and the filter window. Specifically, on OSX Ctrl+P and Ctrl+N can be used to select the next and previous items.
- Windows: Added fake scrollbars to the window, as required by some belligerent mouse drivers
- Stronger protection against infinitely recursive directory trees, especially for file systems that don't report inodes
- In Global Settings, file_exclude_patterns has been separated from folder_exclude_patterns
- Changes to folder_exclude_patterns and file_exclude_patterns are applied on the fly
- Fixed Find in Files not recursing in some scenarios
- command_mode now disables character input, as it should
- Automatic Build System selection now prefers Build Systems in the User folder
- Fixed an issue with curly bracket pairing
- Normalizing newlines emitted from exec'd programs
- delete_word no longer deletes punctuation and whitespace at the same time
- Fixed a crash when trying to focus a group that doesn't exist
- API: Added view.show_at_center(point)
- API: add_regions() can be given an icon name
- API: Added sublime.log_commands(bool), to log the commands that are being run
New in Sublime Text 2.0 Build 2023 Alpha (Jun 10, 2011)
- Fixed a crash in Goto Anything introduced in the previous version
- Goto Anything file previewing is faster
- Windows: Can now hide the menu, revealing it when alt is pressed
- Multi-part extensions, such as "index.html.erb" work as expected
- Updated syntax highlighting for Ruby and Ruby on Rails
- Syntaxes are always shown in the menu, even if they don't have any associated file types
- Added AppleScript syntax highlighting
- Fixed window title being set incorrectly in some circumstances
New in Sublime Text 2.0 Build 2020 Alpha (Jun 10, 2011)
- New version numbering scheme
- File syntax is detected by looking at the first line of the file
- Added shadows to the text area when the sides are clipped. These can be customized with the shadowWidth and shadow properties in .tmTheme files
- Adding folders is faster
- Added Copy File Path to the context menu
- Find in Files: The global folder_exclude_patterns are respected
- Find in Files: Folder names may be used in the include / exclude patterns
- Fixed a rendering issue with extremely long tokens
- Fixed a crash bug if the folder list is cleared while it's still loading
- Fixed a crash when pressing Ctrl+Tab with no open files
- Added --project command line parameter
- Tweaked scrolling behavior of the exec command
- Improved symbol detection, especially for C++
- Added new key "gutterForeground" to color schemes
- Updated Haskell.tmLanguage
- Updated Python.tmLanguage
- Updated XML.tmLanguage
- Updated CSS.tmLanguage
- Lua: Highlighting the not keyword
- CSS: Fixed the '{' key binding not working as expected
- Fixed explicitly set file types not being restored correctly from the session
- Fixed Goto Anything displaying erratically when no files are open
- API: Added view.set_syntax_file(file_name)
- API: Implementing the on_close() callback