mirror of
https://github.com/cappuccino/cappuccino.git
synced 2026-10-27 02:25:36 +00:00
Merge branch 'master' into tableview
This commit is contained in:
commit
92bce1a663
15 files changed
+1187
-2
No files matched your search
@@ -56,7 +56,7 @@ var _CPTexturedWindowHeadGradientColor = nil,
|
||||
+ (CPColor)solidColor
|
||||
{
|
||||
if (!_CPTexturedWindowHeadSolidColor)
|
||||
_CPTexturedWindowHeadSolidColor = [CPColor colorWithCalibratedRed:182.0 / 255.0 green:182.0 / 255.0 blue:182.0 / 255.0 alpha:1.0];
|
||||
_CPTexturedWindowHeadSolidColor = [CPColor colorWithCalibratedRed:195.0 / 255.0 green:195.0 / 255.0 blue:195.0 / 255.0 alpha:1.0];
|
||||
|
||||
return _CPTexturedWindowHeadSolidColor;
|
||||
}
|
||||
|
||||
@@ -309,7 +309,7 @@ var _CPKeyedUnarchiverArrayClass = Ni
|
||||
if ([object isKindOfClass:_CPKeyedUnarchiverDictionaryClass])
|
||||
return _CPKeyedUnarchiverDecodeObjectAtIndex(self, [object objectForKey:_CPKeyedArchiverUIDKey]);
|
||||
|
||||
else if ([object isKindOfClass:_CPKeyedUnarchiverNumberClass] || [object isKindOfClass:_CPKeyedUnarchiverDataClass])
|
||||
else if ([object isKindOfClass:_CPKeyedUnarchiverNumberClass] || [object isKindOfClass:_CPKeyedUnarchiverDataClass] || [object isKindOfClass:_CPKeyedUnarchiverStringClass])
|
||||
return object;
|
||||
|
||||
else if ([object isKindOfClass:_CPKeyedUnarchiverArrayClass])
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
Description
|
||||
===========
|
||||
A simple Emacs mode for editing Objective-J (Cappuccino) files.
|
||||
|
||||
Author
|
||||
======
|
||||
Geoffrey Grosenbach, PeepCode Screencasts
|
||||
http://peepcode.com
|
||||
|
||||
Features
|
||||
========
|
||||
* Syntax highlighting thanks to objc-c-mode.el.
|
||||
* Some adherence to Objective-J coding style guidelines (indentation).
|
||||
* Automatic loading of objj-mode when .j files are opened.
|
||||
|
||||
Installation
|
||||
============
|
||||
Add objc-c-mode.el and objj-mode.el to your load path and require
|
||||
objj-mode.
|
||||
|
||||
(add-to-list 'load-path "/path/to/objc-c-mode.el")
|
||||
(add-to-list 'load-path "/path/to/objj-mode.el")
|
||||
(require 'objj-mode)
|
||||
|
||||
Other
|
||||
=====
|
||||
If you use yasnippet (http://code.google.com/p/yasnippet/), you can define
|
||||
tab-triggered snippet templates specifically for Objective-J.
|
||||
|
||||
Put your snippets in the "snippets/text-mode/objj-mode" directory where
|
||||
you keep your other yasnippets.
|
||||
|
||||
@@ -0,0 +1,284 @@
|
||||
;;; objc-c-mode.el --- improvements for the XEmacs Objective-C mode
|
||||
|
||||
;; Author: Michael Weber <michaelw@foldr.org>
|
||||
;; Version: 20020527
|
||||
;; Keywords: Objective-C, ObjC
|
||||
;; Depends: cc-mode, font-lock
|
||||
;; Tested with: XEmacs 21.4 (patch 6) "Common Lisp" [Lucid]
|
||||
|
||||
;;; Documentation:
|
||||
;;; ==============
|
||||
;;; To use this style for your Objective-C buffers, just add
|
||||
;;; (require 'objc-c-mode)
|
||||
;;;
|
||||
;;; to your XEmacs dot-file. It creates a new style `objc',
|
||||
;;; which is set as default for all objc-mode buffers.
|
||||
;;;
|
||||
;;; To further customize, try this:
|
||||
|
||||
;;; (defconst my-c-style
|
||||
;;; '("objc"
|
||||
;;; (c-indent-comments-syntactically-p . t)
|
||||
;;; (c-comment-only-line-offset . 0)
|
||||
;;; ;;; whatever else here...
|
||||
;;;
|
||||
;;; (c-cleanup-list . (brace-else-brace
|
||||
;;; brace-elseif-brace
|
||||
;;; empty-defun-braces
|
||||
;;; defun-close-semi
|
||||
;;; compact-empty-funcall
|
||||
;;; )))
|
||||
;;; "My C Programming style")
|
||||
;;;
|
||||
;;; (defun my-c-mode-common-hook ()
|
||||
;;; (c-add-style "PERSONAL" my-c-style t)
|
||||
;;; (setq comment-column 40
|
||||
;;; tab-width 4
|
||||
;;; c-basic-offset tab-width)
|
||||
;;;
|
||||
;;; (c-toggle-auto-state 1))
|
||||
;;;
|
||||
;;; ;; activate customizations for all cc-mode derived modes
|
||||
;;; (add-hook 'c-mode-common-hook 'my-c-mode-common-hook)
|
||||
|
||||
;;; If you want to specifically change the "objc" style,
|
||||
;;; probably use something like:
|
||||
|
||||
;;; (defconst my-objc-style
|
||||
;;; '(("objc"
|
||||
;;; (...)
|
||||
;;; "My ObjC style")))
|
||||
;;; (defun my-objc-mode-hook ()
|
||||
;;; (c-add-style "objc" my-objc-style))
|
||||
;;; (add-hook 'objc-mode-hook 'my-objc-mode-hook)
|
||||
|
||||
|
||||
;;; Code:
|
||||
;;; =====
|
||||
|
||||
(require 'cc-mode)
|
||||
|
||||
;;; Default values. Do not change them here, instead change them like
|
||||
;;; any other style variable in your customized style.
|
||||
;;; NOTE: These numbers are ignored anyway, below they are set based on
|
||||
;;; `c-basic-offset' which is usually what one wants anyway...
|
||||
(defcustom-c-stylevar objc-method-arg-min-delta-to-bracket 2
|
||||
"*Minimun number of chars to the opening bracket.
|
||||
|
||||
Consider this ObjC snippet:
|
||||
|
||||
[foo blahBlah: fred
|
||||
|<-x->|barBaz: barney
|
||||
|
||||
If `x' is less than this number then `c-lineup-ObjC-method-call-colons'
|
||||
will defer the indentation decision to the next function. By default
|
||||
this is `c-lineup-ObjC-method-call', which would align it like:
|
||||
|
||||
[foo blahBlahBlah: fred
|
||||
thisIsTooDamnLong: barney
|
||||
|
||||
This behaviour can be overridden by customizing the indentation of
|
||||
`objc-method-call-cont' in the \"objc\" style."
|
||||
:group 'c)
|
||||
|
||||
(defcustom-c-stylevar objc-method-arg-unfinished-offset 4
|
||||
"*Offset relative to bracket if first selector is on a new line.
|
||||
|
||||
[aaaaaaaaa
|
||||
|<-x->|bbbbbbb: cccccc
|
||||
ddddd: eeee];"
|
||||
:group 'c)
|
||||
|
||||
(defcustom-c-stylevar objc-method-parameter-offset 4
|
||||
"*Offset for selector parameter on a new line (relative to first selector.
|
||||
|
||||
[aaaaaaa bbbbbbbbbb:
|
||||
|<-x->|cccccccc
|
||||
ddd: eeee
|
||||
ffff: ggg];"
|
||||
:group 'c)
|
||||
|
||||
;; These are the real defaults (set here, because otherwise the
|
||||
;; indentation whines about them not being defined... *shrug*
|
||||
(setq c-style-variables (append
|
||||
'(objc-method-arg-min-delta-to-bracket
|
||||
objc-method-arg-unfinished-offset
|
||||
objc-method-parameter-offset)
|
||||
c-style-variables)
|
||||
|
||||
c-offsets-alist (append
|
||||
'((objc-method-arg-min-delta-to-bracket . *)
|
||||
(objc-method-arg-unfinished-offset . +)
|
||||
(objc-method-parameter-offset . +))
|
||||
c-offsets-alist))
|
||||
|
||||
|
||||
(defun c-lineup-ObjC-method-call-colons (langelem)
|
||||
"Line up the colons of selector args with the first selector.
|
||||
|
||||
If no decision can be made return NIL, so that other lineup methods can be
|
||||
tried. This is typically chained with `c-lineup-ObjC-method-call'."
|
||||
|
||||
(save-excursion
|
||||
(catch 'no-idea
|
||||
(let* ((method-arg-len (progn
|
||||
(back-to-indentation)
|
||||
(if (search-forward ":" (c-point 'eol) 'move)
|
||||
(- (point) (c-point 'boi))
|
||||
; no complete argument to indent yet
|
||||
(throw 'no-idea nil))))
|
||||
|
||||
(extra (save-excursion
|
||||
; indent parameter to argument if needed
|
||||
(back-to-indentation)
|
||||
(c-backward-syntactic-ws (cdr langelem))
|
||||
(if (eq ?: (char-before))
|
||||
(c-get-offset '(objc-method-parameter-offset . nil))
|
||||
0)))
|
||||
|
||||
(open-bracket-col (c-langelem-col langelem))
|
||||
|
||||
(arg-ralign-colon-ofs (progn
|
||||
(forward-char) ; skip over '['
|
||||
; skip over object/class name
|
||||
; and first argument
|
||||
(c-forward-sexp 2)
|
||||
(if (search-forward ":" (c-point 'eol) 'move)
|
||||
(- (current-column) open-bracket-col
|
||||
method-arg-len extra)
|
||||
; previous arg has no param
|
||||
(c-get-offset '(objc-method-arg-unfinished-offset . nil))))))
|
||||
|
||||
(if (>= arg-ralign-colon-ofs
|
||||
(c-get-offset '(objc-method-arg-min-delta-to-bracket . nil)))
|
||||
(+ arg-ralign-colon-ofs extra)
|
||||
(throw 'no-idea nil)
|
||||
)))))
|
||||
|
||||
|
||||
;;; create and add style
|
||||
(c-add-style "objc"
|
||||
'("gnu"
|
||||
(c-offsets-alist . ((objc-method-call-cont .
|
||||
(c-lineup-ObjC-method-call-colons
|
||||
c-lineup-ObjC-method-call
|
||||
+))
|
||||
))
|
||||
))
|
||||
|
||||
(setq c-default-style (cons '(objc-mode . "objc")
|
||||
c-default-style))
|
||||
|
||||
|
||||
;;
|
||||
;; Now for the font-locking part... :)
|
||||
;;
|
||||
(require 'font-lock)
|
||||
|
||||
(put 'objc-mode 'font-lock-defaults
|
||||
'((objc-font-lock-keywords
|
||||
objc-font-lock-keywords-1
|
||||
objc-font-lock-keywords-2
|
||||
objc-font-lock-keywords-3)
|
||||
;; TODO: ?_ is not a good idea in ObjC specifiers...
|
||||
nil nil ((?_ . "w")) beginning-of-defun))
|
||||
|
||||
(let* ((ctoken "\\(?:\\sw\\|\\s_\\|[:~*&]\\)+")
|
||||
(objc-keywords "YES\\|NO\\|[Nn]il\\|self\\|super")
|
||||
(objc-type-types "id\\|Class\\|SEL\\|IMP\\|BOOL")
|
||||
(addon-objc-font-lock-keywords-1
|
||||
(list ;; nothing to do here...
|
||||
))
|
||||
(addon-objc-font-lock-keywords-2
|
||||
(append addon-objc-font-lock-keywords-1
|
||||
(list
|
||||
;; first part of selector (in a declaration)
|
||||
(list (concat "^[+-][ \t]*"
|
||||
"\\((" ctoken "[ \t]*[*]*)\\)?[ \t]*"
|
||||
"\\(\\sw+\\)"
|
||||
)
|
||||
'(2 font-lock-function-name-face))
|
||||
;; part of a selector
|
||||
'("\\sw*:" 0 font-lock-function-name-face t)
|
||||
;; Fontify all type specifiers.
|
||||
(cons (concat "\\<\\(" objc-type-types "\\)\\>")
|
||||
'font-lock-type-face)
|
||||
;; Fontify all builtin keywords
|
||||
(cons (concat "\\<\\(" objc-keywords "\\)\\>")
|
||||
'font-lock-keyword-face)
|
||||
;; Fontify specific keywords
|
||||
(cons (concat "^" (regexp-opt (list
|
||||
"@implementation" "@interface"
|
||||
"@protocol" "@end" "@public"
|
||||
"@private" "@protected"
|
||||
) t))
|
||||
'font-lock-keyword-face)
|
||||
|
||||
(list (concat "\\("
|
||||
(regexp-opt (list
|
||||
"@class" "@defs" "@encode" "@selector"
|
||||
"@protocol"
|
||||
))
|
||||
"\\)[ \t]*(")
|
||||
1 'font-lock-keyword-face)
|
||||
|
||||
'("^#[ \t]*import[ \t]+\\(<[^>\"\n]+>\\)"
|
||||
1 font-lock-string-face)
|
||||
)
|
||||
))
|
||||
(addon-objc-font-lock-keywords-3
|
||||
(append addon-objc-font-lock-keywords-2
|
||||
(list
|
||||
;; get argument-less selectors' highlighting right
|
||||
;; [[foo _bar_] _baz_] -> bar, baz are highlighted
|
||||
(cons (concat "\\(\\sw+\\)" "[ \t]*" "[]]")
|
||||
'(1 (let ((non-ws-before-match (char-before
|
||||
(save-excursion
|
||||
(goto-char (match-beginning 1))
|
||||
;; expensive!
|
||||
(c-backward-syntactic-ws (c-point 'bol))
|
||||
))))
|
||||
(unless (or (eq ?: non-ws-before-match)
|
||||
(eq ?\[ non-ws-before-match))
|
||||
'font-lock-function-name-face))))
|
||||
|
||||
(cons (concat "\\<\\(" objc-type-types "\\)\\>"
|
||||
"\\([ \t*&]+\\sw+\\>\\)*")
|
||||
;; taken verbatim from font-lock.el
|
||||
'(font-lock-match-c++-style-declaration-item-and-skip-to-next
|
||||
(goto-char (or (match-beginning 8) (match-end 1)))
|
||||
(goto-char (match-end 1))
|
||||
(1 (if (match-beginning 4)
|
||||
font-lock-function-name-face
|
||||
font-lock-variable-name-face))))
|
||||
(cons (concat "\\<"
|
||||
(regexp-opt (list
|
||||
"NS_DURING" "NS_HANDLER" "NS_ENDHANDLER"
|
||||
"RECREATE_AUTORELEASE_POOL"
|
||||
"CREATE_AUTORELEASE_POOL"
|
||||
"ASSIGNCOPY" "ASSIGN" "RETAIN"
|
||||
"DESTROY" "AUTORELEASE" "RELEASE"
|
||||
) t)
|
||||
"\\>")
|
||||
'font-lock-preprocessor-face)
|
||||
)))
|
||||
)
|
||||
|
||||
(setq objc-font-lock-keywords-1 (append c-font-lock-keywords-1
|
||||
addon-objc-font-lock-keywords-1)
|
||||
|
||||
objc-font-lock-keywords-2 (append c-font-lock-keywords-2
|
||||
addon-objc-font-lock-keywords-2)
|
||||
|
||||
objc-font-lock-keywords-3 (append c-font-lock-keywords-3
|
||||
addon-objc-font-lock-keywords-3)
|
||||
))
|
||||
|
||||
|
||||
(defvar objc-font-lock-keywords objc-font-lock-keywords-1
|
||||
"Default expressions to highlight in ObjC mode.")
|
||||
|
||||
|
||||
(provide 'objc-c-mode)
|
||||
|
||||
;;; objc-c-mode.el ends here
|
||||
@@ -0,0 +1,31 @@
|
||||
;;; objj-mode.el --- Major mode for editing Objective-J (Cappuccino) files
|
||||
;;; Written by Geoffrey Grosenbach http://peepcode.com
|
||||
|
||||
;;; Builds on the excellent objc-mode from http://www.foldr.org/~michaelw/objective-c/objc-c-mode.el
|
||||
|
||||
;;; To install, save this somewhere and add the following to your .emacs file:
|
||||
;;;
|
||||
;;; (add-to-list 'load-path "/path/to/objc-c-mode.el")
|
||||
;;; (add-to-list 'load-path "/path/to/objj-mode.el")
|
||||
;;; (require 'objj-mode)
|
||||
;;;
|
||||
;;; Features:
|
||||
;;; * Syntax highlighting
|
||||
;;; * Indentation (minimal adherence to Obj-J coding style guidelines)
|
||||
|
||||
(require 'objc-c-mode)
|
||||
|
||||
(define-derived-mode objj-mode objc-mode
|
||||
"Objective-J"
|
||||
"Major mode for editing Objective-J files."
|
||||
(setq c-basic-offset 4) ;; 4 spaces for tab
|
||||
(setq indent-tabs-mode nil) ;; Spaces, not tabs
|
||||
(c-set-offset 'substatement-open 0) ;; Curly brace on next line
|
||||
)
|
||||
|
||||
;; TODO: Define more syntax settings to comply with http://cappuccino.org/contribute/coding-style.php
|
||||
|
||||
(add-to-list 'auto-mode-alist '("\\.j$" . objj-mode))
|
||||
|
||||
(provide 'objj-mode)
|
||||
|
||||
Binary file not shown.
+23
@@ -0,0 +1,23 @@
|
||||
<?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>name</key>
|
||||
<string>Symbol List: Method</string>
|
||||
<key>scope</key>
|
||||
<string>meta.function.js.objj</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>showInSymbolList</key>
|
||||
<integer>1</integer>
|
||||
<key>symbolTransformation</key>
|
||||
<string>
|
||||
s/^([-+])\s*\(.*?\)\s*/ $1 /; # strip result type
|
||||
s/:\s*\(.*?\)\s*\w+\s*/:/g; # strip argument variables
|
||||
s/\s*;?$//g; # strip terminating ws + semi-colon
|
||||
</string>
|
||||
</dict>
|
||||
<key>uuid</key>
|
||||
<string>85A46AFC-5552-4CE5-BDA0-ED34F0398399</string>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -0,0 +1,24 @@
|
||||
<?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>content</key>
|
||||
<string>- (${1:id})${2:thing}
|
||||
{
|
||||
return $2;
|
||||
}
|
||||
|
||||
- (void)set${2/./\u$0/}:($1)aValue
|
||||
{
|
||||
$2 = aValue;
|
||||
}</string>
|
||||
<key>name</key>
|
||||
<string>Accessors</string>
|
||||
<key>scope</key>
|
||||
<string>source.js.objj</string>
|
||||
<key>tabTrigger</key>
|
||||
<string>acc</string>
|
||||
<key>uuid</key>
|
||||
<string>AA41BEF8-5F81-4A5A-85DE-2E81A112778B</string>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -0,0 +1,29 @@
|
||||
<?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>content</key>
|
||||
<string>@implementation ${1:class} : ${2:CPObject}
|
||||
{
|
||||
}
|
||||
|
||||
- (id)init
|
||||
{
|
||||
if(self = [super init])
|
||||
{$0
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
@end
|
||||
</string>
|
||||
<key>name</key>
|
||||
<string>Class</string>
|
||||
<key>scope</key>
|
||||
<string>source.js.objj</string>
|
||||
<key>tabTrigger</key>
|
||||
<string>cla</string>
|
||||
<key>uuid</key>
|
||||
<string>96C39647-4346-4750-9F96-58070F24EDE6</string>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -0,0 +1,24 @@
|
||||
<?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>content</key>
|
||||
<string>- (${1:id})${2:thing}
|
||||
{
|
||||
return _$2;
|
||||
}
|
||||
|
||||
- (void)set${2/./\u$0/}:($1)aValue
|
||||
{
|
||||
_$2 = aValue;
|
||||
}</string>
|
||||
<key>name</key>
|
||||
<string>_Accessors</string>
|
||||
<key>scope</key>
|
||||
<string>source.js.objj</string>
|
||||
<key>tabTrigger</key>
|
||||
<string>_acc</string>
|
||||
<key>uuid</key>
|
||||
<string>85B0746B-AE1C-47B3-8B9A-2B9A95F4C71E</string>
|
||||
</dict>
|
||||
</plist>
|
||||
+642
@@ -0,0 +1,642 @@
|
||||
<?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>fileTypes</key>
|
||||
<array>
|
||||
<string>j</string>
|
||||
<string>J</string>
|
||||
</array>
|
||||
<key>foldingStartMarker</key>
|
||||
<string>(?x)
|
||||
/\*\*(?!\*)
|
||||
|^(?![^{]*?//|[^{]*?/\*(?!.*?\*/.*?\{)).*?\{\s*($|//|/\*(?!.*?\*/.*\S))
|
||||
|^@(interface|protocol|implementation)\b
|
||||
</string>
|
||||
<key>foldingStopMarker</key>
|
||||
<string>(?<!\*)\*\*/|^\s*\}|^@end\b</string>
|
||||
<key>name</key>
|
||||
<string>Objective-J</string>
|
||||
<key>patterns</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>begin</key>
|
||||
<string>((@)(interface|protocol))(?!.+;)\s+([A-Za-z][A-Za-z0-9]*)\s*((:)(?:\s*)([A-Za-z][A-Za-z0-9]*))?(\s|\n)?</string>
|
||||
<key>captures</key>
|
||||
<dict>
|
||||
<key>1</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>storage.type.js.objj</string>
|
||||
</dict>
|
||||
<key>2</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>punctuation.definition.storage.type.js.objj</string>
|
||||
</dict>
|
||||
<key>4</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>entity.name.type.js.objj</string>
|
||||
</dict>
|
||||
<key>6</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>punctuation.definition.entity.other.inherited-class.js.objj</string>
|
||||
</dict>
|
||||
<key>7</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>entity.other.inherited-class.js.objj</string>
|
||||
</dict>
|
||||
<key>8</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>meta.divider.js.objj</string>
|
||||
</dict>
|
||||
<key>9</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>meta.inherited-class.js.objj</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>contentName</key>
|
||||
<string>meta.scope.interface.js.objj</string>
|
||||
<key>end</key>
|
||||
<string>((@)end)\b</string>
|
||||
<key>name</key>
|
||||
<string>meta.interface-or-protocol.js.objj</string>
|
||||
<key>patterns</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>include</key>
|
||||
<string>#protocol_list</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>include</key>
|
||||
<string>#method</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>include</key>
|
||||
<string>$base</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>begin</key>
|
||||
<string>((@)(implementation))\s+([A-Za-z][A-Za-z0-9]*)\s*(?::\s*([A-Za-z][A-Za-z0-9]*))?</string>
|
||||
<key>captures</key>
|
||||
<dict>
|
||||
<key>1</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>storage.type.js.objj</string>
|
||||
</dict>
|
||||
<key>2</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>punctuation.definition.storage.type.js.objj</string>
|
||||
</dict>
|
||||
<key>4</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>entity.name.type.js.objj</string>
|
||||
</dict>
|
||||
<key>5</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>entity.other.inherited-class.js.objj</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>contentName</key>
|
||||
<string>meta.scope.implementation.js.objj</string>
|
||||
<key>end</key>
|
||||
<string>((@)end)\b</string>
|
||||
<key>name</key>
|
||||
<string>meta.implementation.js.objj</string>
|
||||
<key>patterns</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>include</key>
|
||||
<string>#special_variables</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>include</key>
|
||||
<string>#method</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>include</key>
|
||||
<string>$base</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>begin</key>
|
||||
<string>@"</string>
|
||||
<key>beginCaptures</key>
|
||||
<dict>
|
||||
<key>0</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>punctuation.definition.string.begin.js.objj</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>end</key>
|
||||
<string>"</string>
|
||||
<key>endCaptures</key>
|
||||
<dict>
|
||||
<key>0</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>punctuation.definition.string.end.js.objj</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>name</key>
|
||||
<string>string.quoted.double.js.objj</string>
|
||||
<key>patterns</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>\\(\\|[abefnrtv'"?]|[0-3]\d{,2}|[4-7]\d?|x[a-zA-Z0-9]+)</string>
|
||||
<key>name</key>
|
||||
<string>constant.character.escape.js.objj</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>\\.</string>
|
||||
<key>name</key>
|
||||
<string>invalid.illegal.unknown-escape.js.objj</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>begin</key>
|
||||
<string>\b(id)\s*(?=<)</string>
|
||||
<key>beginCaptures</key>
|
||||
<dict>
|
||||
<key>1</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>storage.type.js.objj</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>end</key>
|
||||
<string>(?<=>)</string>
|
||||
<key>name</key>
|
||||
<string>meta.id-with-protocol.js.objj</string>
|
||||
<key>patterns</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>include</key>
|
||||
<string>#protocol_list</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>\b(CP_DURING|CP_HANDLER|CP_ENDHANDLER)\b</string>
|
||||
<key>name</key>
|
||||
<string>keyword.control.macro.js.objj</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>captures</key>
|
||||
<dict>
|
||||
<key>1</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>punctuation.definition.keyword.js.objj</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>match</key>
|
||||
<string>(@)(try|catch|finally|throw)\b</string>
|
||||
<key>name</key>
|
||||
<string>keyword.control.exception.js.objj</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>captures</key>
|
||||
<dict>
|
||||
<key>1</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>punctuation.definition.keyword.js.objj</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>match</key>
|
||||
<string>(@)(synchronized)\b</string>
|
||||
<key>name</key>
|
||||
<string>keyword.control.synchronize.js.objj</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>captures</key>
|
||||
<dict>
|
||||
<key>1</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>punctuation.definition.keyword.js.objj</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>match</key>
|
||||
<string>(@)(defs|encode)\b</string>
|
||||
<key>name</key>
|
||||
<string>keyword.other.js.objj</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>captures</key>
|
||||
<dict>
|
||||
<key>2</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>meta.id-type.js.objj</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>match</key>
|
||||
<string>\b(IBOutlet|IBAction|BOOL|SEL|id(?!\s?<)|unichar|IMP|Class)\b</string>
|
||||
<key>name</key>
|
||||
<string>storage.type.js.objj</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>captures</key>
|
||||
<dict>
|
||||
<key>1</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>punctuation.definition.storage.type.js.objj</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>match</key>
|
||||
<string>(@)(class|selector|protocol)\b</string>
|
||||
<key>name</key>
|
||||
<string>storage.type.js.objj</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>captures</key>
|
||||
<dict>
|
||||
<key>1</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>punctuation.definition.storage.modifier.js.objj</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>match</key>
|
||||
<string>(@)(synchronized|public|private|protected)\b</string>
|
||||
<key>name</key>
|
||||
<string>storage.modifier.js.objj</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>\b(YES|NO|Nil|nil)\b</string>
|
||||
<key>name</key>
|
||||
<string>constant.language.js.objj</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>\bCPApp\b</string>
|
||||
<key>name</key>
|
||||
<string>support.variable.cappuccino.foundation</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>\bCP(R(ound(DownToMultipleOfPageSize|UpToMultipleOfPageSize)|un(CriticalAlertPanel(RelativeToWindow)?|InformationalAlertPanel(RelativeToWindow)?|AlertPanel(RelativeToWindow)?)|e(set(MapTable|HashTable)|c(ycleZone|t(Clip(List)?|F(ill(UsingOperation|List(UsingOperation|With(Grays|Colors(UsingOperation)?))?)?|romString))|ordAllocationEvent)|turnAddress|leaseAlertPanel|a(dPixel|l(MemoryAvailable|locateCollectable))|gisterServicesProvider)|angeFromString)|Get(SizeAndAlignment|CriticalAlertPanel|InformationalAlertPanel|UncaughtExceptionHandler|FileType(s)?|WindowServerMemory|AlertPanel)|M(i(n(X|Y)|d(X|Y))|ouseInRect|a(p(Remove|Get|Member|Insert(IfAbsent|KnownAbsent)?)|ke(R(ect|ange)|Size|Point)|x(Range|X|Y)))|B(itsPer(SampleFromDepth|PixelFromDepth)|e(stDepth|ep|gin(CriticalAlertSheet|InformationalAlertSheet|AlertSheet)))|S(ho(uldRetainWithZone|w(sServicesMenuItem|AnimationEffect))|tringFrom(R(ect|ange)|MapTable|S(ize|elector)|HashTable|Class|Point)|izeFromString|e(t(ShowsServicesMenuItem|ZoneName|UncaughtExceptionHandler|FocusRingStyle)|lectorFromString|archPathForDirectoriesInDomains)|wap(Big(ShortToHost|IntToHost|DoubleToHost|FloatToHost|Long(ToHost|LongToHost))|Short|Host(ShortTo(Big|Little)|IntTo(Big|Little)|DoubleTo(Big|Little)|FloatTo(Big|Little)|Long(To(Big|Little)|LongTo(Big|Little)))|Int|Double|Float|L(ittle(ShortToHost|IntToHost|DoubleToHost|FloatToHost|Long(ToHost|LongToHost))|ong(Long)?)))|H(ighlightRect|o(stByteOrder|meDirectory(ForUser)?)|eight|ash(Remove|Get|Insert(IfAbsent|KnownAbsent)?)|FSType(CodeFromFileType|OfFile))|N(umberOfColorComponents|ext(MapEnumeratorPair|HashEnumeratorItem))|C(o(n(tainsRect|vert(GlyphsToPackedGlyphs|Swapped(DoubleToHost|FloatToHost)|Host(DoubleToSwapped|FloatToSwapped)))|unt(MapTable|HashTable|Frames|Windows(ForContext)?)|py(M(emoryPages|apTableWithZone)|Bits|HashTableWithZone|Object)|lorSpaceFromDepth|mpare(MapTables|HashTables))|lassFromString|reate(MapTable(WithZone)?|HashTable(WithZone)?|Zone|File(namePboardType|ContentsPboardType)))|TemporaryDirectory|I(s(ControllerMarker|EmptyRect|FreedObject)|n(setRect|crementExtraRefCount|te(r(sect(sRect|ionR(ect|ange))|faceStyleForKey)|gralRect)))|Zone(Realloc|Malloc|Name|Calloc|Fr(omPointer|ee))|O(penStepRootDirectory|ffsetRect)|D(i(sableScreenUpdates|videRect)|ottedFrameRect|e(c(imal(Round|Multiply|S(tring|ubtract)|Normalize|Co(py|mpa(ct|re))|IsNotANumber|Divide|Power|Add)|rementExtraRefCountWasZero)|faultMallocZone|allocate(MemoryPages|Object))|raw(Gr(oove|ayBezel)|B(itmap|utton)|ColorTiledRects|TiledRects|DarkBezel|W(hiteBezel|indowBackground)|LightBezel))|U(serName|n(ionR(ect|ange)|registerServicesProvider)|pdateDynamicServices)|Java(Bundle(Setup|Cleanup)|Setup(VirtualMachine)?|Needs(ToLoadClasses|VirtualMachine)|ClassesF(orBundle|romPath)|ObjectNamedInPath|ProvidesClasses)|P(oint(InRect|FromString)|erformService|lanarFromDepth|ageSize)|E(n(d(MapTableEnumeration|HashTableEnumeration)|umerate(MapTable|HashTable)|ableScreenUpdates)|qual(R(ects|anges)|Sizes|Points)|raseRect|xtraRefCount)|F(ileTypeForHFSTypeCode|ullUserName|r(ee(MapTable|HashTable)|ame(Rect(WithWidth(UsingOperation)?)?|Address)))|Wi(ndowList(ForContext)?|dth)|Lo(cationInRange|g(v|PageSize)?)|A(ccessibility(R(oleDescription(ForUIElement)?|aiseBadArgumentException)|Unignored(Children(ForOnlyChild)?|Descendant|Ancestor)|PostNotification|ActionDescription)|pplication(Main|Load)|vailableWindowDepths|ll(MapTable(Values|Keys)|HashTableObjects|ocate(MemoryPages|Collectable|Object))))\b</string>
|
||||
<key>name</key>
|
||||
<string>support.function.cappuccino</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>\bCP(R(u(nLoop|ler(Marker|View))|e(sponder|cursiveLock|lativeSpecifier)|an(domSpecifier|geSpecifier))|G(etCommand|lyph(Generator|Storage|Info)|raphicsContext)|XML(Node|D(ocument|TD(Node)?)|Parser|Element)|M(iddleSpecifier|ov(ie(View)?|eCommand)|utable(S(tring|et)|C(haracterSet|opying)|IndexSet|D(ictionary|ata)|URLRequest|ParagraphStyle|A(ttributedString|rray))|e(ssagePort(NameServer)?|nu(Item(Cell)?|View)?|t(hodSignature|adata(Item|Query(ResultGroup|AttributeValueTuple)?)))|a(ch(BootstrapServer|Port)|trix))|B(itmapImageRep|ox|u(ndle|tton(Cell)?)|ezierPath|rowser(Cell)?)|S(hadow|c(anner|r(ipt(SuiteRegistry|C(o(ercionHandler|mmand(Description)?)|lassDescription)|ObjectSpecifier|ExecutionContext|WhoseTest)|oll(er|View)|een))|t(epper(Cell)?|atus(Bar|Item)|r(ing|eam))|imple(HorizontalTypesetter|CString)|o(cketPort(NameServer)?|und|rtDescriptor)|p(e(cifierTest|ech(Recognizer|Synthesizer)|ll(Server|Checker))|litView)|e(cureTextField(Cell)?|t(Command)?|archField(Cell)?|rializer|gmentedC(ontrol|ell))|lider(Cell)?|avePanel)|H(ost|TTP(Cookie(Storage)?|URLResponse)|elpManager)|N(ib(Con(nector|trolConnector)|OutletConnector)?|otification(Center|Queue)?|u(ll|mber(Formatter)?)|etService(Browser)?|ameSpecifier)|C(ha(ngeSpelling|racterSet)|o(n(stantString|nection|trol(ler)?|ditionLock)|d(ing|er)|unt(Command|edSet)|pying|lor(Space|P(ick(ing(Custom|Default)|er)|anel)|Well|List)?|m(p(oundPredicate|arisonPredicate)|boBox(Cell)?))|u(stomImageRep|rsor)|IImageRep|ell|l(ipView|o(seCommand|neCommand)|assDescription)|a(ched(ImageRep|URLResponse)|lendar(Date)?)|reateCommand)|T(hread|ypesetter|ime(Zone|r)|o(olbar(Item(Validations)?)?|kenField(Cell)?)|ext(Block|Storage|Container|Tab(le(Block)?)?|Input|View|Field(Cell)?|List|Attachment(Cell)?)?|a(sk|b(le(Header(Cell|View)|Column|View)|View(Item)?))|reeController)|I(n(dex(S(pecifier|et)|Path)|put(Manager|S(tream|erv(iceProvider|er(MouseTracker)?)))|vocation)|gnoreMisspelledWords|mage(Rep|Cell|View)?)|O(ut(putStream|lineView)|pen(GL(Context|Pixel(Buffer|Format)|View)|Panel)|bj(CTypeSerializationCallBack|ect(Controller)?))|D(i(st(antObject(Request)?|ributed(NotificationCenter|Lock))|ctionary|rectoryEnumerator)|ocument(Controller)?|e(serializer|cimalNumber(Behaviors|Handler)?|leteCommand)|at(e(Components|Picker(Cell)?|Formatter)?|a)|ra(wer|ggingInfo))|U(ser(InterfaceValidations|Defaults(Controller)?)|RL(Re(sponse|quest)|Handle(Client)?|C(onnection|ache|redential(Storage)?)|Download(Delegate)?|Prot(ocol(Client)?|ectionSpace)|AuthenticationChallenge(Sender)?)?|n(iqueIDSpecifier|doManager|archiver))|P(ipe|o(sitionalSpecifier|pUpButton(Cell)?|rt(Message|NameServer|Coder)?)|ICTImageRep|ersistentDocument|DFImageRep|a(steboard|nel|ragraphStyle|geLayout)|r(int(Info|er|Operation|Panel)|o(cessInfo|tocolChecker|perty(Specifier|ListSerialization)|gressIndicator|xy)|edicate))|E(numerator|vent|PSImageRep|rror|x(ception|istsCommand|pression))|V(iew(Animation)?|al(idated(ToobarItem|UserInterfaceItem)|ue(Transformer)?))|Keyed(Unarchiver|Archiver)|Qui(ckDrawView|tCommand)|F(ile(Manager|Handle|Wrapper)|o(nt(Manager|Descriptor|Panel)?|rm(Cell|atter)))|W(hoseSpecifier|indow(Controller)?|orkspace)|L(o(c(k(ing)?|ale)|gicalTest)|evelIndicator(Cell)?|ayoutManager)|A(ssertionHandler|nimation|ctionCell|ttributedString|utoreleasePool|TSTypesetter|ppl(ication|e(Script|Event(Manager|Descriptor)))|ffineTransform|lert|r(chiver|ray(Controller)?)))\b</string>
|
||||
<key>name</key>
|
||||
<string>support.class.cappuccino</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>\bCP(R(ect(Edge)?|ange)|G(lyph(Relation|LayoutMode)?|radientType)|M(odalSession|a(trixMode|p(Table|Enumerator)))|B(itmapImageFileType|orderType|uttonType|ezelStyle|ackingStoreType|rowserColumnResizingType)|S(cr(oll(er(Part|Arrow)|ArrowPosition)|eenAuxiliaryOpaque)|tringEncoding|ize|ocketNativeHandle|election(Granularity|Direction|Affinity)|wapped(Double|Float)|aveOperationType)|Ha(sh(Table|Enumerator)|ndler(2)?)|C(o(ntrol(Size|Tint)|mp(ositingOperation|arisonResult))|ell(State|Type|ImagePosition|Attribute))|T(hreadPrivate|ypesetterGlyphInfo|i(ckMarkPosition|tlePosition|meInterval)|o(ol(TipTag|bar(SizeMode|DisplayMode))|kenStyle)|IFFCompression|ext(TabType|Alignment)|ab(State|leViewDropOperation|ViewType)|rackingRectTag)|ImageInterpolation|Zone|OpenGL(ContextAuxiliary|PixelFormatAuxiliary)|D(ocumentChangeType|atePickerElementFlags|ra(werState|gOperation))|UsableScrollerParts|P(oint|r(intingPageOrder|ogressIndicator(Style|Th(ickness|readInfo))))|EventType|KeyValueObservingOptions|Fo(nt(SymbolicTraits|TraitMask|Action)|cusRingType)|W(indow(OrderingMode|Depth)|orkspace(IconCreationOptions|LaunchOptions)|ritingDirection)|L(ineBreakMode|ayout(Status|Direction))|A(nimation(Progress|Effect)|ppl(ication(TerminateReply|DelegateReply|PrintReply)|eEventManagerSuspensionID)|ffineTransformStruct|lertStyle))\b</string>
|
||||
<key>name</key>
|
||||
<string>support.type.cappuccino</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>\bCP(NotFound|Ordered(Ascending|Descending|Same))\b</string>
|
||||
<key>name</key>
|
||||
<string>support.constant.cappuccino</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>\bCP(Menu(Did(RemoveItem|SendAction|ChangeItem|EndTracking|AddItem)|WillSendAction)|S(ystemColorsDidChange|plitView(DidResizeSubviews|WillResizeSubviews))|C(o(nt(extHelpModeDid(Deactivate|Activate)|rolT(intDidChange|extDid(BeginEditing|Change|EndEditing)))|lor(PanelColorDidChange|ListDidChange)|mboBox(Selection(IsChanging|DidChange)|Will(Dismiss|PopUp)))|lassDescriptionNeededForClass)|T(oolbar(DidRemoveItem|WillAddItem)|ext(Storage(DidProcessEditing|WillProcessEditing)|Did(BeginEditing|Change|EndEditing)|View(DidChange(Selection|TypingAttributes)|WillChangeNotifyingTextView))|ableView(Selection(IsChanging|DidChange)|ColumnDid(Resize|Move)))|ImageRepRegistryDidChange|OutlineView(Selection(IsChanging|DidChange)|ColumnDid(Resize|Move)|Item(Did(Collapse|Expand)|Will(Collapse|Expand)))|Drawer(Did(Close|Open)|Will(Close|Open))|PopUpButton(CellWillPopUp|WillPopUp)|View(GlobalFrameDidChange|BoundsDidChange|F(ocusDidChange|rameDidChange))|FontSetChanged|W(indow(Did(Resi(ze|gn(Main|Key))|M(iniaturize|ove)|Become(Main|Key)|ChangeScreen(|Profile)|Deminiaturize|Update|E(ndSheet|xpose))|Will(M(iniaturize|ove)|BeginSheet|Close))|orkspace(SessionDid(ResignActive|BecomeActive)|Did(Mount|TerminateApplication|Unmount|PerformFileOperation|Wake|LaunchApplication)|Will(Sleep|Unmount|PowerOff|LaunchApplication)))|A(ntialiasThresholdChanged|ppl(ication(Did(ResignActive|BecomeActive|Hide|ChangeScreenParameters|U(nhide|pdate)|FinishLaunching)|Will(ResignActive|BecomeActive|Hide|Terminate|U(nhide|pdate)|FinishLaunching))|eEventManagerWillProcessFirstEvent)))Notification\b</string>
|
||||
<key>name</key>
|
||||
<string>support.constant.notification.cappuccino</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>\bCP(R(GB(ModeColorPanel|ColorSpaceModel)|ight(Mouse(D(own(Mask)?|ragged(Mask)?)|Up(Mask)?)|T(ext(Movement|Alignment)|ab(sBezelBorder|StopType))|ArrowFunctionKey)|ound(RectBezelStyle|Bankers|ed(BezelStyle|TokenStyle|DisclosureBezelStyle)|Down|Up|Plain|Line(CapStyle|JoinStyle))|un(StoppedResponse|ContinuesResponse|AbortedResponse)|e(s(izableWindowMask|et(CursorRectsRunLoopOrdering|FunctionKey))|ce(ssedBezelStyle|iver(sCantHandleCommandScriptError|EvaluationScriptError))|turnTextMovement|doFunctionKey|quiredArgumentsMissingScriptError|l(evancyLevelIndicatorStyle|ative(Before|After))|gular(SquareBezelStyle|ControlSize)|moveTraitFontAction)|a(n(domSubelement|geDateMode)|tingLevelIndicatorStyle|dio(ModeMatrix|Button)))|G(IFFileType|lyph(Below|Inscribe(B(elow|ase)|Over(strike|Below)|Above)|Layout(WithPrevious|A(tAPoint|gainstAPoint))|A(ttribute(BidiLevel|Soft|Inscribe|Elastic)|bove))|r(ooveBorder|eaterThan(Comparison|OrEqualTo(Comparison|PredicateOperatorType)|PredicateOperatorType)|a(y(ModeColorPanel|ColorSpaceModel)|dient(None|Con(cave(Strong|Weak)|vex(Strong|Weak)))|phiteControlTint)))|XML(N(o(tationDeclarationKind|de(CompactEmptyElement|IsCDATA|OptionsNone|Use(SingleQuotes|DoubleQuotes)|Pre(serve(NamespaceOrder|C(haracterReferences|DATA)|DTD|Prefixes|E(ntities|mptyElements)|Quotes|Whitespace|A(ttributeOrder|ll))|ttyPrint)|ExpandEmptyElement))|amespaceKind)|CommentKind|TextKind|InvalidKind|D(ocument(X(MLKind|HTMLKind|Include)|HTMLKind|T(idy(XML|HTML)|extKind)|IncludeContentTypeDeclaration|Validate|Kind)|TDKind)|P(arser(GTRequiredError|XMLDeclNot(StartedError|FinishedError)|Mi(splaced(XMLDeclarationError|CDATAEndStringError)|xedContentDeclNot(StartedError|FinishedError))|S(t(andaloneValueError|ringNot(StartedError|ClosedError))|paceRequiredError|eparatorRequiredError)|N(MTOKENRequiredError|o(t(ationNot(StartedError|FinishedError)|WellBalancedError)|DTDError)|amespaceDeclarationError|AMERequiredError)|C(haracterRef(In(DTDError|PrologError|EpilogError)|AtEOFError)|o(nditionalSectionNot(StartedError|FinishedError)|mment(NotFinishedError|ContainsDoubleHyphenError))|DATANotFinishedError)|TagNameMismatchError|In(ternalError|valid(HexCharacterRefError|C(haracter(RefError|InEntityError|Error)|onditionalSectionError)|DecimalCharacterRefError|URIError|Encoding(NameError|Error)))|OutOfMemoryError|D(ocumentStartError|elegateAbortedParseError|OCTYPEDeclNotFinishedError)|U(RI(RequiredError|FragmentError)|n(declaredEntityError|parsedEntityError|knownEncodingError|finishedTagError))|P(CDATARequiredError|ublicIdentifierRequiredError|arsedEntityRef(MissingSemiError|NoNameError|In(Internal(SubsetError|Error)|PrologError|EpilogError)|AtEOFError)|r(ocessingInstructionNot(StartedError|FinishedError)|ematureDocumentEndError))|E(n(codingNotSupportedError|tity(Ref(In(DTDError|PrologError|EpilogError)|erence(MissingSemiError|WithoutNameError)|LoopError|AtEOFError)|BoundaryError|Not(StartedError|FinishedError)|Is(ParameterError|ExternalError)|ValueRequiredError))|qualExpectedError|lementContentDeclNot(StartedError|FinishedError)|xt(ernalS(tandaloneEntityError|ubsetNotFinishedError)|raContentError)|mptyDocumentError)|L(iteralNot(StartedError|FinishedError)|T(RequiredError|SlashRequiredError)|essThanSymbolInAttributeError)|Attribute(RedefinedError|HasNoValueError|Not(StartedError|FinishedError)|ListNot(StartedError|FinishedError)))|rocessingInstructionKind)|E(ntity(GeneralKind|DeclarationKind|UnparsedKind|P(ar(sedKind|ameterKind)|redefined))|lement(Declaration(MixedKind|UndefinedKind|E(lementKind|mptyKind)|Kind|AnyKind)|Kind))|Attribute(N(MToken(sKind|Kind)|otationKind)|CDATAKind|ID(Ref(sKind|Kind)|Kind)|DeclarationKind|En(tit(yKind|iesKind)|umerationKind)|Kind))|M(i(n(XEdge|iaturizableWindowMask|YEdge|uteCalendarUnit)|terLineJoinStyle|ddleSubelement|xedState)|o(nthCalendarUnit|deSwitchFunctionKey|use(Moved(Mask)?|E(ntered(Mask)?|ventSubtype|xited(Mask)?))|veToBezierPathElement|mentary(ChangeButton|Push(Button|InButton)|Light(Button)?))|enuFunctionKey|a(c(intoshInterfaceStyle|OSRomanStringEncoding)|tchesPredicateOperatorType|ppedRead|x(XEdge|YEdge))|ACHOperatingSystem)|B(MPFileType|o(ttomTabsBezelBorder|ldFontMask|rderlessWindowMask|x(Se(condary|parator)|OldStyle|Primary))|uttLineCapStyle|e(zelBorder|velLineJoinStyle|low(Bottom|Top)|gin(sWith(Comparison|PredicateOperatorType)|FunctionKey))|lueControlTint|ack(spaceCharacter|tabTextMovement|ingStore(Retained|Buffered|Nonretained)|TabCharacter|wardsSearch|groundTab)|r(owser(NoColumnResizing|UserColumnResizing|AutoColumnResizing)|eakFunctionKey))|S(h(ift(JISStringEncoding|KeyMask)|ow(ControlGlyphs|InvisibleGlyphs)|adowlessSquareBezelStyle)|y(s(ReqFunctionKey|tem(D(omainMask|efined(Mask)?)|FunctionKey))|mbolStringEncoding)|c(a(nnedOption|le(None|ToFit|Proportionally))|r(oll(er(NoPart|Increment(Page|Line|Arrow)|Decrement(Page|Line|Arrow)|Knob(Slot)?|Arrows(M(inEnd|axEnd)|None|DefaultSetting))|Wheel(Mask)?|LockFunctionKey)|eenChangedEventType))|t(opFunctionKey|r(ingDrawing(OneShot|DisLine truncated
|
||||
<key>name</key>
|
||||
<string>support.constant.cappuccino</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>include</key>
|
||||
<string>#bracketed_content</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>include</key>
|
||||
<string>source.js</string>
|
||||
</dict>
|
||||
</array>
|
||||
<key>repository</key>
|
||||
<dict>
|
||||
<key>bracketed_content</key>
|
||||
<dict>
|
||||
<key>begin</key>
|
||||
<string>\[</string>
|
||||
<key>captures</key>
|
||||
<dict>
|
||||
<key>0</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>punctuation.section.scope.js.objj</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>end</key>
|
||||
<string>\]</string>
|
||||
<key>name</key>
|
||||
<string>meta.bracketed.js.objj</string>
|
||||
<key>patterns</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>begin</key>
|
||||
<string>(?=\w)(?<=[\w\])"] )(\w+(?:(:)|(?=\])))</string>
|
||||
<key>beginCaptures</key>
|
||||
<dict>
|
||||
<key>1</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>support.function.any-method.js.objj</string>
|
||||
</dict>
|
||||
<key>2</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>punctuation.separator.arguments.js.objj</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>end</key>
|
||||
<string>(?=\])</string>
|
||||
<key>name</key>
|
||||
<string>meta.function-call.js.objj</string>
|
||||
<key>patterns</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>captures</key>
|
||||
<dict>
|
||||
<key>1</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>punctuation.separator.arguments.js.objj</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>match</key>
|
||||
<string>\b\w+(:)</string>
|
||||
<key>name</key>
|
||||
<string>support.function.any-method.name-of-parameter.js.objj</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>include</key>
|
||||
<string>#special_variables</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>include</key>
|
||||
<string>$base</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>include</key>
|
||||
<string>#special_variables</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>include</key>
|
||||
<string>$base</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
<key>comment</key>
|
||||
<dict>
|
||||
<key>patterns</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>begin</key>
|
||||
<string>/\*</string>
|
||||
<key>captures</key>
|
||||
<dict>
|
||||
<key>0</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>punctuation.definition.comment.js.objj</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>end</key>
|
||||
<string>\*/</string>
|
||||
<key>name</key>
|
||||
<string>comment.block.js.objj</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>begin</key>
|
||||
<string>//</string>
|
||||
<key>beginCaptures</key>
|
||||
<dict>
|
||||
<key>0</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>punctuation.definition.comment.js.objj</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>end</key>
|
||||
<string>$\n?</string>
|
||||
<key>name</key>
|
||||
<string>comment.line.double-slash.js.objj</string>
|
||||
<key>patterns</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>(?>\\\s*\n)</string>
|
||||
<key>name</key>
|
||||
<string>punctuation.separator.continuation.js.objj</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
<key>method</key>
|
||||
<dict>
|
||||
<key>begin</key>
|
||||
<string>^(-|\+)\s*</string>
|
||||
<key>end</key>
|
||||
<string>(?=\{)|;</string>
|
||||
<key>name</key>
|
||||
<string>meta.function.js.objj</string>
|
||||
<key>patterns</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>begin</key>
|
||||
<string>(\()</string>
|
||||
<key>captures</key>
|
||||
<dict>
|
||||
<key>1</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>punctuation.definition.type.js.objj</string>
|
||||
</dict>
|
||||
<key>2</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>entity.name.function.js.objj</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>end</key>
|
||||
<string>(\))\s*(\w+\b)</string>
|
||||
<key>name</key>
|
||||
<string>meta.return-type.js.objj</string>
|
||||
<key>patterns</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>include</key>
|
||||
<string>#protocol_list</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>include</key>
|
||||
<string>#protocol_type_qualifier</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>include</key>
|
||||
<string>$base</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>\b\w+(?=:)</string>
|
||||
<key>name</key>
|
||||
<string>entity.name.function.name-of-parameter.js.objj</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>begin</key>
|
||||
<string>((:))\s*(\()</string>
|
||||
<key>beginCaptures</key>
|
||||
<dict>
|
||||
<key>1</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>entity.name.function.name-of-parameter.js.objj</string>
|
||||
</dict>
|
||||
<key>2</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>punctuation.separator.arguments.js.objj</string>
|
||||
</dict>
|
||||
<key>3</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>punctuation.definition.type.js.objj</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>end</key>
|
||||
<string>(\))\s*(\w+\b)?</string>
|
||||
<key>endCaptures</key>
|
||||
<dict>
|
||||
<key>1</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>punctuation.definition.type.js.objj</string>
|
||||
</dict>
|
||||
<key>2</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>variable.parameter.function.js.objj</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>name</key>
|
||||
<string>meta.argument-type.js.objj</string>
|
||||
<key>patterns</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>include</key>
|
||||
<string>#protocol_list</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>include</key>
|
||||
<string>#protocol_type_qualifier</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>include</key>
|
||||
<string>$base</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>include</key>
|
||||
<string>#comment</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
<key>protocol_list</key>
|
||||
<dict>
|
||||
<key>begin</key>
|
||||
<string>(<)</string>
|
||||
<key>beginCaptures</key>
|
||||
<dict>
|
||||
<key>1</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>punctuation.section.scope.begin.js.objj</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>end</key>
|
||||
<string>(>)</string>
|
||||
<key>endCaptures</key>
|
||||
<dict>
|
||||
<key>1</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>punctuation.section.scope.end.js.objj</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>name</key>
|
||||
<string>meta.protocol-list.js.objj</string>
|
||||
<key>patterns</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>\bCP(GlyphStorage|M(utableCopying|enuItem)|C(hangeSpelling|o(ding|pying|lorPicking(Custom|Default)))|T(oolbarItemValidations|ext(Input|AttachmentCell))|I(nputServ(iceProvider|erMouseTracker)|gnoreMisspelledWords)|Obj(CTypeSerializationCallBack|ect)|D(ecimalNumberBehaviors|raggingInfo)|U(serInterfaceValidations|RL(HandleClient|DownloadDelegate|ProtocolClient|AuthenticationChallengeSender))|Validated(ToobarItem|UserInterfaceItem)|Locking)\b</string>
|
||||
<key>name</key>
|
||||
<string>support.other.protocol.js.objj</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
<key>protocol_type_qualifier</key>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>\b(in|out|inout|oneway|bycopy|byref)\b</string>
|
||||
<key>name</key>
|
||||
<string>storage.modifier.protocol.js.objj</string>
|
||||
</dict>
|
||||
<key>special_variables</key>
|
||||
<dict>
|
||||
<key>patterns</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>\b_cmd\b</string>
|
||||
<key>name</key>
|
||||
<string>variable.other.selector.js.objj</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>\b(self|super)\b</string>
|
||||
<key>name</key>
|
||||
<string>variable.language.js.objj</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>scopeName</key>
|
||||
<string>source.js.objj</string>
|
||||
<key>uuid</key>
|
||||
<string>58D4B98A-2110-423E-9C80-CC9E202816E7</string>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -0,0 +1,23 @@
|
||||
<?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>contactEmailRot13</key>
|
||||
<string>gbz@280abegu.pbz</string>
|
||||
<key>contactName</key>
|
||||
<string>Tom Robinson</string>
|
||||
<key>description</key>
|
||||
<string><a href="http://cappuccino.org/">Cappuccino</a> is an open source framework that makes it easy to build desktop-caliber applications that run in a web browser.</string>
|
||||
<key>name</key>
|
||||
<string>JavaScript Objective-J</string>
|
||||
<key>ordering</key>
|
||||
<array>
|
||||
<string>58D4B98A-2110-423E-9C80-CC9E202816E7</string>
|
||||
<string>96C39647-4346-4750-9F96-58070F24EDE6</string>
|
||||
<string>AA41BEF8-5F81-4A5A-85DE-2E81A112778B</string>
|
||||
<string>85B0746B-AE1C-47B3-8B9A-2B9A95F4C71E</string>
|
||||
</array>
|
||||
<key>uuid</key>
|
||||
<string>1FB3D538-84E1-4002-AA46-5705529A27E1</string>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -21,3 +21,6 @@
|
||||
*/
|
||||
|
||||
@import "NSArray.j"
|
||||
@import "NSMutableDictionary.j"
|
||||
@import "NSMutableString.j"
|
||||
@import "NSSet.j"
|
||||
@@ -0,0 +1,35 @@
|
||||
/*
|
||||
* NSMutableDictionary.j
|
||||
* nib2cib
|
||||
*
|
||||
* Portions based on NSCell.m (09/09/2008) in Cocotron (http://www.cocotron.org/)
|
||||
* Copyright (c) 2006-2007 Christopher J. W. Lloyd
|
||||
*
|
||||
* Created by Francisco Tolmasky.
|
||||
* Copyright 2008, 280 North, Inc.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
@implementation NSMutableDictionary : CPObject
|
||||
{
|
||||
}
|
||||
|
||||
- (id)initWithCoder:(CPCoder)aCoder
|
||||
{
|
||||
return [CPDictionary dictionaryWithObjects:[aCoder decodeObjectForKey:@"NS.objects"] forKeys:[aCoder decodeObjectForKey:@"NS.keys"]];
|
||||
}
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,35 @@
|
||||
/*
|
||||
* NSMutableString.j
|
||||
* nib2cib
|
||||
*
|
||||
* Portions based on NSCell.m (09/09/2008) in Cocotron (http://www.cocotron.org/)
|
||||
* Copyright (c) 2006-2007 Christopher J. W. Lloyd
|
||||
*
|
||||
* Created by Francisco Tolmasky.
|
||||
* Copyright 2008, 280 North, Inc.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
@implementation NSMutableString : CPObject
|
||||
{
|
||||
}
|
||||
|
||||
- (id)initWithCoder:(CPCoder)aCoder
|
||||
{
|
||||
return [aCoder decodeObjectForKey:@"NS.string"];
|
||||
}
|
||||
|
||||
@end
|
||||
Reference in new issue
Block a user