Merged pull request #207 from dahjelle/master.

Added Solarized color scheme to available options.
This commit is contained in:
Fabian Jakobs 2011-04-26 03:07:27 -07:00
commit b8ab958674
6 changed files with 1021 additions and 1 deletions

View file

@ -47,6 +47,8 @@
<option value="ace/theme/merbivore">Merbivore</option>
<option value="ace/theme/merbivore_soft">Merbivore Soft</option>
<option value="ace/theme/vibrant_ink">Vibrant Ink</option>
<option value="ace/theme/solarized_dark">Solarized Dark</option>
<option value="ace/theme/solarized_light">Solarized Light</option>
</select>
</td>
<td align="right">

View file

@ -0,0 +1,200 @@
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Ajax.org Code Editor (ACE).
*
* The Initial Developer of the Original Code is
* Ajax.org B.V.
* Portions created by the Initial Developer are Copyright (C) 2010
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Fabian Jakobs <fabian AT ajax DOT org>
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
define(function(require, exports, module) {
var dom = require("pilot/dom");
var cssText = ".ace-solarized-dark .ace_editor {\
border: 2px solid rgb(159, 159, 159);\
}\
\
.ace-solarized-dark .ace_editor.ace_focus {\
border: 2px solid #327fbd;\
}\
\
.ace-solarized-dark .ace_gutter {\
width: 50px;\
background: #e8e8e8;\
color: #333;\
overflow : hidden;\
}\
\
.ace-solarized-dark .ace_gutter-layer {\
width: 100%;\
text-align: right;\
}\
\
.ace-solarized-dark .ace_gutter-layer .ace_gutter-cell {\
padding-right: 6px;\
}\
\
.ace-solarized-dark .ace_print_margin {\
width: 1px;\
background: #e8e8e8;\
}\
\
.ace-solarized-dark .ace_scroller {\
background-color: #002B36;\
}\
\
.ace-solarized-dark .ace_text-layer {\
cursor: text;\
color: #93A1A1;\
}\
\
.ace-solarized-dark .ace_cursor {\
border-left: 2px solid #D30102;\
}\
\
.ace-solarized-dark .ace_cursor.ace_overwrite {\
border-left: 0px;\
border-bottom: 1px solid #D30102;\
}\
\
.ace-solarized-dark .ace_marker-layer .ace_selection {\
background: #073642;\
}\
\
.ace-solarized-dark .ace_marker-layer .ace_step {\
background: rgb(198, 219, 174);\
}\
\
.ace-solarized-dark .ace_marker-layer .ace_bracket {\
margin: -1px 0 0 -1px;\
border: 1px solid rgba(147, 161, 161, 0.50);\
}\
\
.ace-solarized-dark .ace_marker-layer .ace_active_line {\
background: #073642;\
}\
\
\
.ace-solarized-dark .ace_invisible {\
color: rgba(147, 161, 161, 0.50);\
}\
\
.ace-solarized-dark .ace_keyword {\
color:#859900;\
}\
\
.ace-solarized-dark .ace_keyword.ace_operator {\
\
}\
\
.ace-solarized-dark .ace_constant {\
\
}\
\
.ace-solarized-dark .ace_constant.ace_language {\
color:#B58900;\
}\
\
.ace-solarized-dark .ace_constant.ace_library {\
\
}\
\
.ace-solarized-dark .ace_constant.ace_numeric {\
color:#D33682;\
}\
\
.ace-solarized-dark .ace_invalid {\
\
}\
\
.ace-solarized-dark .ace_invalid.ace_illegal {\
\
}\
\
.ace-solarized-dark .ace_invalid.ace_deprecated {\
\
}\
\
.ace-solarized-dark .ace_support {\
\
}\
\
.ace-solarized-dark .ace_support.ace_function {\
color:#268BD2;\
}\
\
.ace-solarized-dark .ace_function.ace_buildin {\
\
}\
\
.ace-solarized-dark .ace_string {\
color:#2AA198;\
}\
\
.ace-solarized-dark .ace_string.ace_regexp {\
color:#D30102;\
}\
\
.ace-solarized-dark .ace_comment {\
font-style:italic;\
color:#657B83;\
}\
\
.ace-solarized-dark .ace_comment.ace_doc {\
\
}\
\
.ace-solarized-dark .ace_comment.ace_doc.ace_tag {\
\
}\
\
.ace-solarized-dark .ace_variable {\
\
}\
\
.ace-solarized-dark .ace_variable.ace_language {\
color:#268BD2;\
}\
\
.ace-solarized-dark .ace_xml_pe {\
\
}\
\
.ace-solarized-dark .ace_collab.ace_user1 {\
\
}";
// import CSS once
dom.importCssString(cssText);
exports.cssClass = "ace-solarized-dark";
});

View file

@ -0,0 +1,199 @@
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Ajax.org Code Editor (ACE).
*
* The Initial Developer of the Original Code is
* Ajax.org B.V.
* Portions created by the Initial Developer are Copyright (C) 2010
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Fabian Jakobs <fabian AT ajax DOT org>
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
define(function(require, exports, module) {
var dom = require("pilot/dom");
var cssText = ".ace-solarized-light .ace_editor {\
border: 2px solid rgb(159, 159, 159);\
}\
\
.ace-solarized-light .ace_editor.ace_focus {\
border: 2px solid #327fbd;\
}\
\
.ace-solarized-light .ace_gutter {\
width: 50px;\
background: #e8e8e8;\
color: #333;\
overflow : hidden;\
}\
\
.ace-solarized-light .ace_gutter-layer {\
width: 100%;\
text-align: right;\
}\
\
.ace-solarized-light .ace_gutter-layer .ace_gutter-cell {\
padding-right: 6px;\
}\
\
.ace-solarized-light .ace_print_margin {\
width: 1px;\
background: #e8e8e8;\
}\
\
.ace-solarized-light .ace_scroller {\
background-color: #FDF6E3;\
}\
\
.ace-solarized-light .ace_text-layer {\
cursor: text;\
color: #586E75;\
}\
\
.ace-solarized-light .ace_cursor {\
border-left: 2px solid #000000;\
}\
\
.ace-solarized-light .ace_cursor.ace_overwrite {\
border-left: 0px;\
border-bottom: 1px solid #000000;\
}\
\
.ace-solarized-light .ace_marker-layer .ace_selection {\
background: #073642;\
}\
\
.ace-solarized-light .ace_marker-layer .ace_step {\
background: rgb(198, 219, 174);\
}\
\
.ace-solarized-light .ace_marker-layer .ace_bracket {\
margin: -1px 0 0 -1px;\
border: 1px solid rgba(147, 161, 161, 0.50);\
}\
\
.ace-solarized-light .ace_marker-layer .ace_active_line {\
background: #EEE8D5;\
}\
\
\
.ace-solarized-light .ace_invisible {\
color: rgba(147, 161, 161, 0.50);\
}\
\
.ace-solarized-light .ace_keyword {\
color:#859900;\
}\
\
.ace-solarized-light .ace_keyword.ace_operator {\
\
}\
\
.ace-solarized-light .ace_constant {\
\
}\
\
.ace-solarized-light .ace_constant.ace_language {\
color:#B58900;\
}\
\
.ace-solarized-light .ace_constant.ace_library {\
\
}\
\
.ace-solarized-light .ace_constant.ace_numeric {\
color:#D33682;\
}\
\
.ace-solarized-light .ace_invalid {\
\
}\
\
.ace-solarized-light .ace_invalid.ace_illegal {\
\
}\
\
.ace-solarized-light .ace_invalid.ace_deprecated {\
\
}\
\
.ace-solarized-light .ace_support {\
\
}\
\
.ace-solarized-light .ace_support.ace_function {\
color:#268BD2;\
}\
\
.ace-solarized-light .ace_function.ace_buildin {\
\
}\
\
.ace-solarized-light .ace_string {\
color:#2AA198;\
}\
\
.ace-solarized-light .ace_string.ace_regexp {\
color:#D30102;\
}\
\
.ace-solarized-light .ace_comment {\
color:#93A1A1;\
}\
\
.ace-solarized-light .ace_comment.ace_doc {\
\
}\
\
.ace-solarized-light .ace_comment.ace_doc.ace_tag {\
\
}\
\
.ace-solarized-light .ace_variable {\
\
}\
\
.ace-solarized-light .ace_variable.ace_language {\
color:#268BD2;\
}\
\
.ace-solarized-light .ace_xml_pe {\
\
}\
\
.ace-solarized-light .ace_collab.ace_user1 {\
\
}";
// import CSS once
dom.importCssString(cssText);
exports.cssClass = "ace-solarized-light";
});

View file

@ -186,7 +186,9 @@ var themes = {
"mono_industrial": "monoindustrial",
"clouds": "Clouds",
"clouds_midnight": "Clouds Midnight",
"kr_theme": "krTheme"
"kr_theme": "krTheme",
"solarized_light": "Solarized-light",
"solarized_dark": "Solarized-dark"
}
for (var name in themes) {

View file

@ -0,0 +1,312 @@
<?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>Solarized (dark)</string>
<key>settings</key>
<array>
<dict>
<key>settings</key>
<dict>
<key>background</key>
<string>#002B36</string>
<key>caret</key>
<string>#D30102</string>
<key>foreground</key>
<string>#93A1A1</string>
<key>invisibles</key>
<string>#93A1A180</string>
<key>lineHighlight</key>
<string>#073642</string>
<key>selection</key>
<string>#073642</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Comment</string>
<key>scope</key>
<string>comment</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>italic</string>
<key>foreground</key>
<string>#657B83</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>String</string>
<key>scope</key>
<string>string</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#2AA198</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Regexp</string>
<key>scope</key>
<string>string.regexp</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#D30102</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Number</string>
<key>scope</key>
<string>constant.numeric</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#D33682</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Variable</string>
<key>scope</key>
<string>variable.language, variable.other</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#268BD2</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Keyword</string>
<key>scope</key>
<string>keyword</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#859900</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Storage</string>
<key>scope</key>
<string>storage</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>bold</string>
<key>foreground</key>
<string>#93A1A1</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Class name</string>
<key>scope</key>
<string>entity.name.class, entity.name.type.class</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#CB4B16</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Function name</string>
<key>scope</key>
<string>entity.name.function</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#268BD2</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Variable start</string>
<key>scope</key>
<string>punctuation.definition.variable</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#859900</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Embedded code markers</string>
<key>scope</key>
<string>punctuation.section.embedded.begin, punctuation.section.embedded.end</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#D30102</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Built-in constant</string>
<key>scope</key>
<string>constant.language, meta.preprocessor</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#B58900</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Support.construct</string>
<key>scope</key>
<string>support.function.construct, keyword.other.new</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#CB4B16</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>User-defined constant</string>
<key>scope</key>
<string>constant.character, constant.other</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#CB4B16</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Inherited class</string>
<key>scope</key>
<string>entity.other.inherited-class</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#6C71C4</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Function argument</string>
<key>scope</key>
<string>variable.parameter</string>
<key>settings</key>
<dict/>
</dict>
<dict>
<key>name</key>
<string>Tag name</string>
<key>scope</key>
<string>entity.name.tag</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>bold</string>
<key>foreground</key>
<string>#268BD2</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Tag start/end</string>
<key>scope</key>
<string>punctuation.definition.tag</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#657B83</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Tag attribute</string>
<key>scope</key>
<string>entity.other.attribute-name</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#93A1A1</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library function</string>
<key>scope</key>
<string>support.function</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#268BD2</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Continuation</string>
<key>scope</key>
<string>punctuation.separator.continuation</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#D30102</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library constant</string>
<key>scope</key>
<string>support.constant</string>
<key>settings</key>
<dict/>
</dict>
<dict>
<key>name</key>
<string>Library class/type</string>
<key>scope</key>
<string>support.type, support.class</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#859900</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library Exception</string>
<key>scope</key>
<string>support.type.exception</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#CB4B16</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library variable</string>
<key>scope</key>
<string>support.other.variable</string>
<key>settings</key>
<dict/>
</dict>
<dict>
<key>name</key>
<string>Invalid</string>
<key>scope</key>
<string>invalid</string>
<key>settings</key>
<dict/>
</dict>
</array>
<key>uuid</key>
<string>F930B0BF-AA03-4232-A30F-CEF749FF8E72</string>
</dict>
</plist>

View file

@ -0,0 +1,305 @@
<?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>Solarized (light)</string>
<key>settings</key>
<array>
<dict>
<key>settings</key>
<dict>
<key>background</key>
<string>#FDF6E3</string>
<key>caret</key>
<string>#000000</string>
<key>foreground</key>
<string>#586E75</string>
<key>invisibles</key>
<string>#93A1A180</string>
<key>lineHighlight</key>
<string>#EEE8D5</string>
<key>selection</key>
<string>#073642</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Comment</string>
<key>scope</key>
<string>comment</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#93A1A1</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>String</string>
<key>scope</key>
<string>string</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#2AA198</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Regexp</string>
<key>scope</key>
<string>string.regexp</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#D30102</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Number</string>
<key>scope</key>
<string>constant.numeric</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#D33682</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Variable</string>
<key>scope</key>
<string>variable.language, variable.other</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#268BD2</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Keyword</string>
<key>scope</key>
<string>keyword</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#859900</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Storage</string>
<key>scope</key>
<string>storage</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>bold</string>
<key>foreground</key>
<string>#073642</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Class name</string>
<key>scope</key>
<string>entity.name.class, entity.name.type.class</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#268BD2</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Function name</string>
<key>scope</key>
<string>entity.name.function</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#268BD2</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Variable start</string>
<key>scope</key>
<string>punctuation.definition.variable</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#859900</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Embedded code markers</string>
<key>scope</key>
<string>punctuation.section.embedded.begin, punctuation.section.embedded.end</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#D30102</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Built-in constant</string>
<key>scope</key>
<string>constant.language, meta.preprocessor</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#B58900</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Support.construct</string>
<key>scope</key>
<string>support.function.construct, keyword.other.new</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#D30102</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>User-defined constant</string>
<key>scope</key>
<string>constant.character, constant.other</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#CB4B16</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Inherited class</string>
<key>scope</key>
<string>entity.other.inherited-class</string>
<key>settings</key>
<dict/>
</dict>
<dict>
<key>name</key>
<string>Function argument</string>
<key>scope</key>
<string>variable.parameter</string>
<key>settings</key>
<dict/>
</dict>
<dict>
<key>name</key>
<string>Tag name</string>
<key>scope</key>
<string>entity.name.tag</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>bold</string>
<key>foreground</key>
<string>#268BD2</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Tag start/end</string>
<key>scope</key>
<string>punctuation.definition.tag.begin, punctuation.definition.tag.end</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#93A1A1</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Tag attribute</string>
<key>scope</key>
<string>entity.other.attribute-name</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#93A1A1</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library function</string>
<key>scope</key>
<string>support.function</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#268BD2</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Continuation</string>
<key>scope</key>
<string>punctuation.separator.continuation</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#D30102</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library constant</string>
<key>scope</key>
<string>support.constant</string>
<key>settings</key>
<dict/>
</dict>
<dict>
<key>name</key>
<string>Library class/type</string>
<key>scope</key>
<string>support.type, support.class</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#859900</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library Exception</string>
<key>scope</key>
<string>support.type.exception</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#CB4B16</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library variable</string>
<key>scope</key>
<string>support.other.variable</string>
<key>settings</key>
<dict/>
</dict>
<dict>
<key>name</key>
<string>Invalid</string>
<key>scope</key>
<string>invalid</string>
<key>settings</key>
<dict/>
</dict>
</array>
<key>uuid</key>
<string>38E819D9-AE02-452F-9231-ECC3B204AFD7</string>
</dict>
</plist>