14,579
stars
+1+1+10
1,761
forks
–
watchers
–
prs
–
issues
–
releases
–
discussions
README
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 Setup To build TextMate, you need the following: [boost][] — portable C++ source libraries [Cap’n Proto][capnp] — serialization library [multimarkdown][] — marked-up plain text compiler [ninja][] — build system similar to make [ragel][] — state machine compiler [sparsehash][] — a cache friendly hash_map All this can be installed using either [Homebrew][] or [MacPorts][]: sh Homebrew brew install boost capnp google-sparsehash multimarkdown ninja ragel MacPorts sudo port install boost capnproto multimarkdown ninja ragel sparsehash After installing dependencies, make sure you have a full checkout (including submodules) and then run ./configure followed by ninja, for example: sh git clone --recursive https://github.com/textmate/textmate.git cd textmate ./configure && ninja TextMate/run The ./configure script simply checks that all dependencies can be found, and then calls bin/rave to bootstrap a build.ninja file with default config set to release and default target set to TextMate. Building from within TextMate You should install the [Ninja][NinjaBundle] bundle which can be installed via _Preferences_ → _Bundles_. 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 _Preferences_ → _Variables_ or ~/.tm_properties so it can find ninja and related tools; an example could be $PATH:/usr/local/bin. The default target (set in .tm_properties) 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: sh ninja TextMate Build and sign TextMate ninja TextMate/run Build, sign, and (re)launch TextMate To clean everything run: sh ninja -t clean Or simply delete ~/build/TextMate. 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. [boost]: