Need help with textmate?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

textmate
13.2K Stars 1.8K Forks Other 5.6K Commits 14 Opened issues

Description

TextMate is a graphical text editor for macOS 10.12 or later

Services available

!
?

Need anything else?

Contributors list

No Data

TextMate

Download

You can download TextMate from here.

Feedback

You can use the TextMate mailing list or #textmate IRC channel on freenode.net for questions, comments, and bug reports.

You can also contact MacroMates.

Before you submit a bug report please read the writing bug reports instructions.

Screenshot

textmate

Building

Bootstrap

To bootstrap the build you need to run

./configure
(in the root of the source tree). You can set a few (environment) variables read by this script that change the generated build file:
  • builddir
    — location of built files. Defaults to
    ~/build/TextMate
    .
  • identity
    — for Apple’s
    codesign
    . Defaults to ad-hoc signing, which does not use an identity at all.
  • boostdir
    — location of boost includes. By default it will search various locations including MacPorts and Homebrew.
  • sparsedir
    — location of sparsehash includes. By default it will search various locations including MacPorts and Homebrew.

In the simplest case (assuming Homebrew is installed) you would run:

brew install ragel boost multimarkdown hg ninja capnp google-sparsehash libressl
git clone --recursive https://github.com/textmate/textmate.git
cd textmate
./configure && ninja

If you're using MacPorts then instead run this line to install dependencies:

sudo port install ninja ragel boost multimarkdown mercurial sparsehash libressl

Unless you’re using Homebrew then Cap’n Proto must be manually installed. Feel free to submit a PR to update

configure
.

If

port
fails with a build error then likely you need to agree (system-wide) to Apple’s Xcode license:
sudo xcodebuild -license

Prerequisites

Building TextMate has the following dependencies:

In practice

hg
(mercurial) is only required for the SCM library’s tests so you can skip this dependency if you don’t mind a failing test.

If you want to avoid the libressl linker warnings about being built for different deployment target then run

brew edit libressl
and make the following change:
-    system "./configure", *args
+    system "env", "LDFLAGS=-mmacosx-version-min=10.8", "CFLAGS=-mmacosx-version-min=10.8", "./configure", *args

Afterward you must rebuild using:

brew reinstall --build-from-source libressl

Building from within TextMate

You should install the Ninja bundle which can be installed via PreferencesBundles.

After this you can press ⌘B to build from within TextMate. In case you haven't already you also need to set up the

PATH
variable either in PreferencesVariables or
~/.tm_properties
so it can find
ninja
and related tools; an example could be
$PATH:/opt/local/bin
.

The default target is

TextMate/run
. This will relaunch TextMate but when called from within TextMate, a dialog will appear before the current instance is killed. As there is full session restore, it is safe to relaunch even with unsaved changes.

If the current file is a test file then the target to build is changed to build the library to which the test belongs (this is done by setting

TM_NINJA_TARGET
in the
.tm_properties
file found in the root of the source tree).

Similarly, if the current file belongs to an application target (other than

TextMate.app
) then
TM_NINJA_TARGET
is set to build and run this application.

Build Targets

For the

TextMate.app
application there are two symbolic build targets:
ninja TextMate      # Build and sign TextMate
ninja TextMate/run  # Build, sign, and (re)launch TextMate

To clean everything run:

ninja -t clean

Legal

The source for TextMate is released under the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

TextMate is a trademark of Allan Odgaard.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.