Skip to content
Commits on May 25, 2016
  1. @sorbits

    Checkin release notes

    sorbits committed May 25, 2016
Commits on May 24, 2016
  1. @sorbits

    Use same newline heuristic for open document and find in folder

    Previously the heuristic used (when files mix LF, CR, and CRLF) for searching files on disk (find in folder) was not identical to the heuristic used when opening files.
    This meant that in rare situations a match could be found at what the find in folder determined to be the n’th line, but when opening the file, it was the m’th line (where m != n).
    sorbits committed May 24, 2016
  2. @sorbits

    Change heuristic to detect line endings

    Only if there is consistent use of CR or CRLF will we treat the file as such, otherwise it is treated as LF delimited.
    sorbits committed May 24, 2016
  3. @sorbits

    Don’t treat extraneous CRs when converting from CRLF

    Our previous method of converting CR/CRLF files to LF representation was somewhat heuristic in that we would convert all CRs to LF and skip any LF following a CR.
    While files should generally not mix and match line endings, it does occasionally happen in practice, and in that case, we do not want to “lose information” by converting too many newline characters to LF.
    sorbits committed May 24, 2016
  4. @sorbits

    Support arbitrary newlines for search result excerpts

    Previously we expected only LF to mark a newline but in theory we can receive CRLF or CR separated text (from files on disk) which would cause incorrect excerpt for matches crossing line boundaries.
    sorbits committed May 24, 2016
  5. @sorbits
  6. @sorbits

    Refactor code to generate attributed string for search results

    This makes it easier to make other transformations than the current tab → em-space.
    sorbits committed May 24, 2016
Commits on May 22, 2016
  1. @sorbits

    Handle return key for text view in Unknown Encoding sheet

    Without full keyboard access enabled (System Preferences → Keyboard) the text view in the Unknown Encoding dialog would be the initial first responder, and while it’s read-only, pressing return would make the text view give up focus, rather than send the key to the window’s default button.
    sorbits committed May 22, 2016
Commits on May 17, 2016
  1. @sorbits
Commits on May 9, 2016
  1. @sorbits

    To open document in new project the null UUID must be used

    Previously when providing a project UUID while opening a document, and no project used this UUID, TextMate would create a new project (with this UUID).
    This was both a way to force a file to open in its own project, and to open multiple files in the same project, even though they did not share project folder.
    The problem is that `mate` will read the `TM_PROJECT_UUID` environment variable and use as target project, which is generally desired, but incase we launch a new application from TextMate, and this application later opens a file via `mate`, it will use the old `TM_PROJECT_UUID` value, which might no longer exist.
    We still allow forcing files to open in their own project by introducing a special “null UUID”, but with this change, it is no longer possible to use multiple invocations of `mate` to open unrelated files in the same project. Should this be desired, we can re-introduce this feature but require that `mate` is given the UUID via its -p/--project argument.
    Fixes textmate/latex.tmbundle#150
    sorbits committed May 9, 2016
Commits on May 8, 2016
  1. @sorbits

    Opening document on non-active desktop gave key to wrong window

    When our application is activated and our key window is on a non-active desktop with windows on the active desktop, the system will give focus to one of the windows on the active desktop.
    To workaround this we make our window key after our application has become active.
    sorbits committed May 8, 2016
  2. @sorbits

    Don’t special-case bringing window to front when app is hidden

    It used to be that if we called unhideWithoutActivation followed by makeKeyAndOrderFont:, and finally activateIgnoringOtherApps: then we would end with only the key window on top of other windows in the desktop space.
    E.g. from a terminal (with TextMate hidden) using “mate -w” would cause only a single window to open on top of the terminal window, which seemed like desired behavior.
    Unfortunately Apple have changed the behavior so there is no need to explicitly call unhideWithoutActivation as this is implied by activateIgnoringOtherApps:.
    sorbits committed May 8, 2016
Commits on May 7, 2016
  1. @sorbits

    Update link dependencies for all targets

    Some targets were including headers from frameworks not specified in their link dependencies. For a clean build this could cause an issue because the header was not available at the time of building the target.
    The updated link dependencies are also based on what a target’s tests require. Ideally tests would have separate link dependencies, but as we don’t want to maintain this manually, this will have to wait until the build system automatically handles link dependencies.
    Currently the commit command uses constants from the CommitWindow framework but should actually not be linked with it. However, the optimizer will strip dead code, so it should not result in much if any difference in the resulting binary and does solve a build dependency issue.
    sorbits committed May 7, 2016
Commits on May 2, 2016
  1. @bj7 @sorbits

    Optionally draw a horizontal line for every tab stop

    This can be toggled using View → Show/Hide Indent Guides or controlled per file type via the `showIndentGuides` setting in `.tm_properties`.
    bj7 committed with sorbits Apr 24, 2016
Commits on Apr 27, 2016
  1. @sorbits

    Add font size selection to print dialog

    Per Persson committed with sorbits Apr 27, 2016
  2. @sorbits

    Enable layout constraints for the print panel auxiliary view

    If this is not done, we get an “unable to simultaneously satisfy constraints” warning on 10.11.4 and possibly earlier versions. This is likely because the print dialog was redone to use layout constraints, but I don’t know which version of OS X nor do I know how this change affect the print dialog prior to the introduction of layout constraints.
    sorbits committed Apr 27, 2016
Commits on Apr 19, 2016
  1. @sorbits

    Checkin release notes

    sorbits committed Apr 19, 2016
Commits on Apr 18, 2016
  1. @sorbits

    Change Jump to Next/Previous Mark shortcuts to F3/⇧F3

    This is consistent with Next/Previous Bookmark shortcuts bound to F2/⇧F2.
    The problem with ⌘> and ⌘< is that these keys are used to cycle through windows on some keyboard layouts.
    Discussion at issue #1316.
    sorbits committed Apr 18, 2016
  2. @sorbits
Commits on Apr 14, 2016
  1. @orta @sorbits
  2. @briantkelley @sorbits

    Double Click to Select Typing Pairs

    TextMate highlights certain character pairs (e.g. { }) when the caret passes over either of the characters. It can be useful to double click to select the text in between and including the character pairs for deleting code, copying code, for visually differentiating the affected code, etc. Add a select_unit_type, kSelectionExtendToWordOrTypingPair, to select the inclusive bounds of a typing pair if a match is found, or otherwise select a word as normal.
    This patch is free and released into the public domain.
    briantkelley committed with sorbits Dec 30, 2015
Commits on Mar 5, 2016
  1. @sorbits

    Checkin release notes

    sorbits committed Mar 5, 2016
Commits on Feb 25, 2016
  1. @rdwampler @sorbits
  2. @rdwampler @sorbits
  3. @sorbits


    sorbits committed Feb 25, 2016
  4. @sorbits

    Leaving out mark type will search for next/previous of any type

    This commit is based on work by Ronald Wampler.
    sorbits committed Feb 25, 2016
  5. @sorbits

    Load plug-ins before bundles

    The reason is that if there are no bundles, we will extract the default set to Application Support, and in doing so, we call tar which implicitly sets up the command environment, which is re-used for all successive commands.
    The problem is that loading a plug-in may add to the environment (e.g. setting the DIALOG environment variable), so if plug-ins are loaded after the call to tar (as would be the case for on a clean system), the DIALOG variable will be missing from the environment.
    Kudos to René Schwaiger for discovering this issue.
    sorbits committed Feb 25, 2016
Commits on Feb 5, 2016
  1. @sorbits

    Group themes using their semantic class

    The semantic class must be of the form: `theme.«group»[.«whatever»]*`.
    If a theme lacks a semantic class, or the semantic class does not have a `theme.` prefix then the theme gets into the “unspecified” group.
    In theory we could analyze the themes for dark/bright background, but manually classifying themes seems more flexible, for example some themes have a transparent background, which we could put into their own group.
    sorbits committed Feb 5, 2016
  2. @sorbits
Commits on Feb 4, 2016
  1. @rdwampler @sorbits

    CommitWindow: Force update of constraints after animation is completed

    This is necessary to prevent resizing of the document view when removing and then immediately adding a new constraint to the document view.
    rdwampler committed with sorbits Feb 2, 2016
  2. @nanoant @sorbits

    Edit->Spelling->System using system language

    This sets '' (empty identifier) in Global.tmProperties that switches to system
    specified spelling language (usually Automatic by Default which is OS X
    default). It serves as a way back to the default when user picks any other
    language than default from the menu for current buffer (effectively for
    documents's directory).
    nanoant committed with sorbits Jan 2, 2016
  3. @sorbits

    Add helper function to obtain the name for a locale identifier

    E.g. da → Dansk, pl → Polski, etc.
    sorbits committed Feb 4, 2016
Commits on Jan 29, 2016
  1. @nanoant @sorbits

    Settings: Empty string should be serialized as ''

    Otherwise we get syntax error reading back the value from Global.tmProperties.
    nanoant committed with sorbits Jan 2, 2016
  2. @nanoant @sorbits

    Use panel language unless spellingLanguage is specified

    This partially reverts changes of 3fdc72b:
    Support spell checking being “automatic by language”.
    Before 3fdc72b spellingLanguage .tm_properties setting (default "en") was the
    only way to set spelling language for file (buffer). English was default
    language for all files. 3fdc72b introduced change that when “automatic by
    language” was selected in system's spelling panel then TextMate was ignoring
    spellingLanguage setting and was using automatic by language.
    However because “automatic by language” is default on OS X, effectively 3fdc72b
    makes spellingLanguage setting no longer effective. To make it work one needs
    to set explicit spelling language either in System Preferences or in spelling
    panel upon each TextMate run (since this is getting reset after application
    restart) - which is counter-intuitive, can be treated as regression and it is
    vaguely described in ChangeLog:
     * Support spell checking being “automatic by language”. This is set via the
       spelling panel.
    This change presents alternative approach, introducing new empty
    spellingLanguage setting "" (which is now default), which makes use system
    panel language setting, including “automatic by language”.
    From now on all files will be checked against system panel selected language
    (or automatic), unless .tm_properties project specifies explicitly language for
    given file using, eg.:
        [ locale-en_US.ini ]
        spellingLanguage = en_US
        [ locale-pl_PL.ini ]
        spellingLanguage = pl_PL
    Or automatically depending on file name:
        [ locale-*.ini ]
        spellingLanguage = '${TM_FILEPATH/^.*locale-([a-z]+_[A-Z]+).*$/$1/}'
    nanoant committed with sorbits Dec 28, 2015
  3. @rdwampler @sorbits

    Ensure path exists when adding document to Recent menu

    It's possible that the path on the document is set even though it does not exist on disk. E.g., when using `mate` to create a new document from the command line.
    rdwampler committed with sorbits Jan 27, 2016
Something went wrong with that request. Please try again.