aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/12_Compiling.md6
-rw-r--r--modules/textadept/mime_types.conf8
-rwxr-xr-xscripts/gen_plist.lua93
-rwxr-xr-xscripts/osx/ta12
-rwxr-xr-xscripts/osx/textadept24
-rw-r--r--src/Info.plist974
-rw-r--r--src/Makefile39
7 files changed, 1137 insertions, 19 deletions
diff --git a/doc/12_Compiling.md b/doc/12_Compiling.md
index 35ab5167..32c88aee 100644
--- a/doc/12_Compiling.md
+++ b/doc/12_Compiling.md
@@ -117,13 +117,13 @@ Lua library loading do not allow statically linking LuaJIT to Textadept.
When cross-compiling from within Linux, first unzip the GTK+ for OSX bundle into
a new *src/gtkosx/* directory. Then run `make osx` to build *../textadept.osx*
-and *../textadeptjit.osx*. Build a new *Textadept.app* from an existing one by
-downloading the most recent app and replacing *Contents/MacOS/textadept.osx* and
-*Contents/MacOS/textadeptjit.osx* with your own versions.
+and *../textadeptjit.osx*.
Similarly, `make osx-curses` builds *../textadept-curses.osx* and
*../textadeptjit-curses.osx*.
+Build a new *Textadept.app* with `make osx-app`.
+
#### Compiling on OSX (Legacy)
Textadept requires [XCode][] as well as [jhbuild][] (for GTK+). After building
diff --git a/modules/textadept/mime_types.conf b/modules/textadept/mime_types.conf
index c961fd46..4b6f6d3f 100644
--- a/modules/textadept/mime_types.conf
+++ b/modules/textadept/mime_types.conf
@@ -187,10 +187,10 @@ java java
js javascript
jsfl javascript
-%JSP
+% JSP
jsp jsp
-%JSON
+% JSON
json json
% Latex
@@ -329,9 +329,6 @@ rbw ruby
/^%s*class%s+%S+%s*<%s*ActiveRecord::Base rails
/^%s*class%s+%S+%s*<%s*ActiveRecord::Migration rails
-% Ragel
-rl ragel
-
% Sass CSS
sass sass
scss sass
@@ -351,6 +348,7 @@ configure bash
csh bash
sh bash
zsh bash
+#bash bash
#sh bash
% Smalltalk
diff --git a/scripts/gen_plist.lua b/scripts/gen_plist.lua
new file mode 100755
index 00000000..fc47203c
--- /dev/null
+++ b/scripts/gen_plist.lua
@@ -0,0 +1,93 @@
+#!/usr/bin/lua
+-- Copyright 2007-2013 Mitchell mitchell.att.foicica.com. See LICENSE.
+
+-- This script generates the "Info.plist" file for the Mac OSX App bundle.
+
+local lang, exts
+local languages, extensions = {}, {}
+
+-- Read languages and extensions.
+local f = io.open('../modules/textadept/mime_types.conf')
+for line in f:lines() do
+ if line:find('^%%') then
+ lang, exts = line:match('^%%%s*(.+)$'), {}
+ if lang then languages[#languages + 1], extensions[lang] = lang, exts end
+ elseif line:find('^%a') then
+ exts[#exts + 1] = line:match('^%S+')
+ end
+end
+f:close()
+
+-- Generate and write the XML.
+local xml = {[[
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleDocumentTypes</key>
+ <array>]]}
+for i = 1, #languages do
+ lang, exts = languages[i], extensions[languages[i]]
+ if #exts > 0 then
+ xml[#xml + 1] = "\t\t<dict>"
+ xml[#xml + 1] = "\t\t\t<key>CFBundleTypeExtensions</key>"
+ xml[#xml + 1] = "\t\t\t<array>"
+ for j = 1, #exts do
+ xml[#xml + 1] = "\t\t\t\t<string>"..exts[j].."</string>"
+ end
+ xml[#xml + 1] = "\t\t\t</array>"
+ xml[#xml + 1] = "\t\t\t<key>CFBundleTypeName</key>"
+ xml[#xml + 1] = "\t\t\t<string>"..lang.." source</string>"
+ xml[#xml + 1] = "\t\t\t<key>CFBundleTypeRole</key>"
+ xml[#xml + 1] = "\t\t\t<string>Editor</string>"
+ xml[#xml + 1] = "\t\t</dict>"
+ end
+end
+xml[#xml + 1] = [[
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>*</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Document</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeName</key>
+ <string>Document</string>
+ <key>CFBundleTypeOSTypes</key>
+ <array>
+ <string>****</string>
+ </array>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ </array>
+ <key>CFBundleExecutable</key>
+ <string>textadept</string>
+ <key>CFBundleIconFile</key>
+ <string>textadept.icns</string>
+ <key>CFBundleIdentifier</key>
+ <string>com.textadept</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>Textadept</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>7.0 alpha</string>
+ <key>NSHighResolutionCapable</key>
+ <true/>
+</dict>
+</plist>
+]]
+f = io.open('../src/Info.plist', 'w')
+f:write(table.concat(xml, '\n'))
+f:close()
diff --git a/scripts/osx/ta b/scripts/osx/ta
new file mode 100755
index 00000000..9b2d8f43
--- /dev/null
+++ b/scripts/osx/ta
@@ -0,0 +1,12 @@
+#!/bin/bash
+# Copyright 2007-2013 Mitchell mitchell.att.foicica.com. See LICENSE.
+
+if [[ "$1" == "-h" || "$1" == "--help" ]]; then
+ echo "ta - shell script to launch Textadept.app"
+ echo "Usage: ta [args] [filenames]"
+ echo "Run textadept --help for available args."
+elif [ "${1:0:1}" == "-" ]; then
+ open -n -a Textadept.app --args $@
+else
+ open -a Textadept.app $@
+fi
diff --git a/scripts/osx/textadept b/scripts/osx/textadept
new file mode 100755
index 00000000..2c933465
--- /dev/null
+++ b/scripts/osx/textadept
@@ -0,0 +1,24 @@
+#!/bin/sh
+# Copyright 2007-2013 Mitchell mitchell.att.foicica.com. See LICENSE.
+
+# Set the GTK environment variables of resources within Textadept.app.
+bundle=$(cd "$(dirname "$0")/../../" && pwd)
+bundle_res="$bundle/Contents/Resources"
+export DYLD_LIBRARY_PATH="$bundle_res/lib:$DYLD_LIBRARY_PATH"
+export GTK_DATA_PREFIX="$bundle_res"
+export GTK_EXE_PREFIX="$bundle_res"
+export GTK_PATH="$bundle_res"
+export GTK2_RC_FILES="$bundle_res/etc/gtk-2.0/gtkrc"
+export GTK_IM_MODULE_FILE="$bundle_res/etc/gtk-2.0/gtk.immodules"
+export GDK_PIXBUF_MODULE_FILE="$bundle_res/etc/gtk-2.0/gdk-pixbuf.loaders"
+export PANGO_LIBDIR="$bundle_res/lib"
+export PANGO_SYSCONFDIR="$bundle_res/etc"
+export CHARSETALIASDIR="$bundle_res/lib"
+
+# Strip out the argument added by OSX.
+if [ x`echo "x$1" | sed -e "s/^x-psn_.*//"` == x ]; then shift 1; fi
+
+# Run Textadept.
+textadept=textadept.osx
+if [ ! -z $TEXTADEPTJIT ]; then textadept=textadeptjit.osx; fi
+exec "$bundle/Contents/MacOS/$textadept" "$@"
diff --git a/src/Info.plist b/src/Info.plist
new file mode 100644
index 00000000..fad0e2bd
--- /dev/null
+++ b/src/Info.plist
@@ -0,0 +1,974 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleDocumentTypes</key>
+ <array>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>as</string>
+ <string>asc</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Actionscript source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>ada</string>
+ <string>adb</string>
+ <string>ads</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>ADA source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>g</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>ANTLR source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>ans</string>
+ <string>inp</string>
+ <string>mac</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>APDL source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>applescript</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Applescript source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>asa</string>
+ <string>asp</string>
+ <string>hta</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>ASP source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>awk</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>AWK source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>bat</string>
+ <string>cmd</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Batch source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>bib</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Bibtex source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>boo</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Boo source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>c</string>
+ <string>cc</string>
+ <string>C</string>
+ <string>cpp</string>
+ <string>cxx</string>
+ <string>c++</string>
+ <string>h</string>
+ <string>hh</string>
+ <string>hpp</string>
+ <string>hxx</string>
+ <string>h++</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>C/C++ source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>cs</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>C# source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>ck</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Chuck source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>cmake</string>
+ <string>cmake.in</string>
+ <string>ctest</string>
+ <string>ctest.in</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>CMake source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>coffee</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>CoffeeScript source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>css</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>CSS source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>cu</string>
+ <string>cuh</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>CUDA source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>d</string>
+ <string>di</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>D source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>desktop</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Desktop source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>diff</string>
+ <string>patch</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>diff source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>dot</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>dot source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>e</string>
+ <string>eif</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Eiffel source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>erl</string>
+ <string>hrl</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Erlang source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>fs</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>F# source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>f</string>
+ <string>forth</string>
+ <string>frt</string>
+ <string>fs</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Forth source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>for</string>
+ <string>fort</string>
+ <string>fpp</string>
+ <string>f77</string>
+ <string>f90</string>
+ <string>f95</string>
+ <string>f03</string>
+ <string>f08</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Fortran source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>g</string>
+ <string>gd</string>
+ <string>gi</string>
+ <string>gap</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Gap source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>po</string>
+ <string>pot</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Gettext source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>glslf</string>
+ <string>glslv</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>GLSL source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>dem</string>
+ <string>plt</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>GNUPlot source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>groovy</string>
+ <string>gvy</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Groovy source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>gtkrc</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Gtkrc source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>hs</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Haskell source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>htm</string>
+ <string>html</string>
+ <string>shtm</string>
+ <string>shtml</string>
+ <string>xhtml</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>HTML source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>idl</string>
+ <string>odl</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>IDL source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>inf</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Inform source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>cfg</string>
+ <string>cnf</string>
+ <string>inf</string>
+ <string>ini</string>
+ <string>reg</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>ini source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>io</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Io source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>bsh</string>
+ <string>java</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Java source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>js</string>
+ <string>jsfl</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Javascript source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>jsp</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>JSP source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>json</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>JSON source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>bbl</string>
+ <string>dtx</string>
+ <string>ins</string>
+ <string>ltx</string>
+ <string>tex</string>
+ <string>sty</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Latex source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>less</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Less source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>lily</string>
+ <string>ly</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Lilypond source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>cl</string>
+ <string>el</string>
+ <string>lisp</string>
+ <string>lsp</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Lisp source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>litcoffee</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Literate Coffeescript source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>lua</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Lua source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>GNUmakefile</string>
+ <string>iface</string>
+ <string>mak</string>
+ <string>makefile</string>
+ <string>Makefile</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Makefile source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>md</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Markdown source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>n</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Nemerle source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>nsh</string>
+ <string>nsi</string>
+ <string>nsis</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>NSIS source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>m</string>
+ <string>mm</string>
+ <string>objc</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Objective C source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>caml</string>
+ <string>ml</string>
+ <string>mli</string>
+ <string>mll</string>
+ <string>mly</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>OCAML source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>dpk</string>
+ <string>dpr</string>
+ <string>p</string>
+ <string>pas</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Pascal source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>al</string>
+ <string>perl</string>
+ <string>pl</string>
+ <string>pm</string>
+ <string>pod</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Perl source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>inc</string>
+ <string>php</string>
+ <string>php3</string>
+ <string>php4</string>
+ <string>phtml</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>PHP source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>pike</string>
+ <string>pmod</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Pike source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>eps</string>
+ <string>ps</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Postscript source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>prolog</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Prolog source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>props</string>
+ <string>properties</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Properties source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>sc</string>
+ <string>py</string>
+ <string>pyw</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Python source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>R</string>
+ <string>Rout</string>
+ <string>Rhistory</string>
+ <string>Rt</string>
+ <string>Rout.save</string>
+ <string>Rout.fail</string>
+ <string>S</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>R source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>r</string>
+ <string>reb</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Rebol source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>orx</string>
+ <string>rex</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Rexx source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>erb</string>
+ <string>rhtml</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>RHTML source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>Rakefile</string>
+ <string>rake</string>
+ <string>rb</string>
+ <string>rbw</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Ruby source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>sass</string>
+ <string>scss</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Sass CSS source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>scala</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Scala source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>sch</string>
+ <string>scm</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Scheme source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>bash</string>
+ <string>bashrc</string>
+ <string>bash_profile</string>
+ <string>configure</string>
+ <string>csh</string>
+ <string>sh</string>
+ <string>zsh</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Shell source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>changes</string>
+ <string>st</string>
+ <string>sources</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Smalltalk source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>ddl</string>
+ <string>sql</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>SQL source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>tcl</string>
+ <string>tk</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>TCL source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>vala</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Vala source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>v</string>
+ <string>ver</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Verilog source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>vh</string>
+ <string>vhd</string>
+ <string>vhdl</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>VHDL source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>asa</string>
+ <string>bas</string>
+ <string>cls</string>
+ <string>ctl</string>
+ <string>dob</string>
+ <string>dsm</string>
+ <string>dsr</string>
+ <string>frm</string>
+ <string>pag</string>
+ <string>vb</string>
+ <string>vba</string>
+ <string>vbs</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Visual Basic source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>dtd</string>
+ <string>svg</string>
+ <string>xml</string>
+ <string>xsd</string>
+ <string>xsl</string>
+ <string>xslt</string>
+ <string>xul</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>XML source</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>*</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Document</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeName</key>
+ <string>Document</string>
+ <key>CFBundleTypeOSTypes</key>
+ <array>
+ <string>****</string>
+ </array>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ </array>
+ <key>CFBundleExecutable</key>
+ <string>textadept</string>
+ <key>CFBundleIconFile</key>
+ <string>textadept.icns</string>
+ <key>CFBundleIdentifier</key>
+ <string>com.textadept</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>Textadept</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>7.0 alpha</string>
+ <key>NSHighResolutionCapable</key>
+ <true/>
+</dict>
+</plist>
diff --git a/src/Makefile b/src/Makefile
index 52d596b9..6b601cdb 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -373,6 +373,18 @@ cleandoc:
basedir = textadept_$(shell grep "_RELEASE =" ../core/init.lua | \
cut -d ' ' -f 4- | sed -e 's/"//; s/ /_/g;')
modules = css hypertext java rails rhtml ruby php python
+osxapp = Textadept.app
+osxapp_bin = $(osxapp)/Contents/MacOS
+osxapp_res = $(osxapp)/Contents/Resources
+osxapp_libs = libatk-1.0.0.dylib libcairo.2.dylib libexpat.1.dylib \
+ libffi.5.dylib libfontconfig.1.dylib libfreetype.6.dylib \
+ libgdk_pixbuf-2.0.0.dylib libgdk-quartz-2.0.0.dylib \
+ libgio-2.0.0.dylib libglib-2.0.0.dylib libgmodule-2.0.0.dylib \
+ libgobject-2.0.0.dylib libgthread-2.0.0.dylib \
+ libgtkmacintegration.2.dylib libgtk-quartz-2.0.0.dylib \
+ libintl.8.dylib libpango-1.0.0.dylib libpangocairo-1.0.0.dylib \
+ libpangoft2-1.0.0.dylib libpixman-1.0.dylib libpng14.14.dylib \
+ charset.alias gdk-pixbuf-2.0 gtk-2.0 pango
release: ../textadept ../textadeptjit ../textadept-curses \
../textadeptjit-curses ../textadept32 ../textadeptjit32 \
@@ -407,14 +419,20 @@ $(basedir).win64: ../textadept64.exe | $(basedir)
for t in `ls $@/textadept*`; do mv $$t `echo $$t | sed -e 's/64\././;'`; done
cp win64gtk/bin/*.dll $@ && cp -r win64gtk/etc win64gtk/lib win64gtk/share $@
rm -r $@/lib/*.a $@/lib/glib-2.0 $@/lib/gtk-2.0/include $@/lib/pkgconfig
-$(basedir).osx: ../textadept.osx ../textadeptjit.osx ../textadept-curses.osx \
- ../textadeptjit-curses.osx | $(basedir)
- mkdir $@ && cp -rL gtkosx/app $@/Textadept.app
- cp $^ $@/Textadept.app/Contents/MacOS/
- cp -rL $|/* $@/Textadept.app/Contents/Resources/
- mv $@/Textadept.app/Contents/Resources/core/images/textadept.icns \
- $@/Textadept.app/Contents/Resources/
- mv $@/Textadept.app/Contents/MacOS/ta $@
+osx-app: ../textadept.osx ../textadeptjit.osx ../textadept-curses.osx \
+ ../textadeptjit-curses.osx | $(basedir)
+ mkdir -p $(osxapp_bin) $(osxapp_res)
+ cp Info.plist $(osxapp_bin)/../
+ cp ../scripts/osx/textadept $^ $(osxapp_bin)/
+ cp -rL $|/* $(osxapp_res)/
+ mv $(osxapp_res)/core/images/textadept.icns $(osxapp_res)/
+ cp -r gtkosx/etc gtkosx/share $(osxapp_res)/ && mkdir $(osxapp_res)/lib/
+ cp -r $(addprefix gtkosx/lib/, $(osxapp_libs)) $(osxapp_res)/lib/
+ rm -r $(osxapp_res)/lib/gtk-2.0/include $(osxapp_res)/lib/gtk-2.0/modules
+ rm $(osxapp_res)/lib/gtk-2.0/2.10.0/printbackends/*
+$(basedir).osx: osx-app | $(basedir)
+ mkdir $@ && mv $< $@
+ cp ../scripts/osx/ta $@
$(basedir).src: | $(basedir)
cp -r $| $@
cp -rL lua luajit scintilla gtdialog LexLPeg.cxx termkey cdk $@/src
@@ -422,9 +440,8 @@ $(basedir).src: | $(basedir)
rm -r $@/src/scintilla/.hg
$(basedir).modules:
mkdir -p $@/modules
- for module in $(modules); do \
- hg clone /home/mitchell/code/textadept/modules/$$module \
- $@/modules/$$module; \
+ for mod in $(modules); do \
+ hg clone /home/mitchell/code/textadept/modules/$$mod $@/modules/$$mod; \
done
# Release Packages.