Igorの回答にあるColorerプラグインは興味深いものでしたが、.scssファイル拡張子を使用しており、.sassファイルに対してのみ機能します。.scssファイル拡張子をサポートする方法は次のとおりです。
まず、通常どおりプラグインをインストールします。Eclipseの[ヘルプ]メニューで選択Install New software
し、次のリポジトリを追加しますhttp://colorer.sf.net/eclipsecolorer
。このリポジトリを選択すると、EclipseColorerのインストールオプションが表示されます。ドラッグインストールオプションAFAIKはありません。
インストール後、Eclipseのプラグインディレクトリ内のColorerプラグインフォルダに移動します。私の場合、それはeclipse/plugins/net.sf.colorer_0.9.9/
です。そこで、3つのファイルを変更する必要があります。
- colorer / hrc / common.jar
- colorer / hrc / proto.hrc
- /plugin.xml
以下の手順を実行する前に、問題が発生した場合に復元するために、フォルダ内のすべてのファイルをバックアップしてください。
common.jarの変更
common.jarを空のフォルダーに抽出します。これは、通常のtar.gzファイルと同じように行われます。抽出したら、その中の2つのファイルを変更する必要があります。
の53行目と53行目を複製inet/haml.hrc
し、scssに変更します。結果は次のようになります。
<block start='/^((\s\s)*):(sass)/' end='/^\M (\s*$|\y1\s)?! /ix' region='def:Insertion' region01='def:Outlined'
region00='def:PairStart' region10='def:PairEnd' content-priority='low' scheme='sass:sass'/>
<block start='/^((\s\s)*):(scss)/' end='/^\M (\s*$|\y1\s)?! /ix' region='def:Insertion' region01='def:Outlined'
region00='def:PairStart' region10='def:PairEnd' content-priority='low' scheme='scss:scss'/>
次に、関連する行をコピーinet/sass.hrc
しinet/scss.hrc
て変更します。結果scss.hrc
は次のようになります。
<?xml version="1.0" encoding='Windows-1251'?>
<!DOCTYPE hrc PUBLIC "-//Cail Lomecb//DTD Colorer HRC take5//EN"
"http://colorer.sf.net/2003/hrc.dtd">
<hrc version="take5" xmlns="http://colorer.sf.net/2003/hrc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://colorer.sf.net/2003/hrc http://colorer.sf.net/2003/hrc.xsd">
<type name="scss">
<annotation>
<documentation>
SCSS Sassy CSS
</documentation>
<contributors><![CDATA[
Igor Russkih irusskih at gmail dot com
]]></contributors>
</annotation>
<region name="ClassSelector" parent="def:TypeKeyword"/>
<region name="IDSelector" parent="def:Keyword"/>
<region name="IncludeMixin" parent="def:Label"/>
<scheme name='PropertyNames'>
<regexp match="/(\$)([\w\d\-]+)/" region='def:Var'/>
<inherit scheme='css:PropertyNames'/>
</scheme>
<scheme name="PropertyWrapper">
<block start="/~/" end="/(:|\s|$)/" scheme="PropertyNames" region10="def:Symbol"/>
<regexp match="/(\$)([\w\d\-]+)/" region='def:Var'/>
<inherit scheme="css:Property"/>
</scheme>
<scheme name="scss">
<!-- property value after colon -->
<block start="/\M([\$\w\d\-]+)\s*(:)/" end="/\M([\x22\x27]|$)/"
scheme="PropertyWrapper" region02="def:Symbol"
/>
<block start="/(:)\s*\M([\w\d\-]+)?/" end="/\M([\x22\x27]|$)/"
scheme="PropertyWrapper" region02="def:Symbol"
/>
<regexp match="/^ \s* \M[\.\#\=\@\!] (?{def:Outlined}[\w\d\-]+ ) /x" />
<regexp match="/ \. (?{ClassSelector}[\w\d\-]+ ) /x" />
<regexp match="/ \# (?{IDSelector}[\w\d\-]+ ) /x" />
<regexp match="/ [\=\+] (?{IncludeMixin}[\w\d\-]+ ) /x" />
<regexp match="/[\(\)'"]/" region='def:Symbol'/>
<regexp match="/\/\/.*$/" region='def:Comment'/>
<regexp match="/\@(import|extend|mixin)/" region='def:Keyword'/>
</scheme>
</type>
</hrc>
<!-- ***** 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 the Colorer Library.
-
- The Initial Developer of the Original Code is
- Igor Russkih <irusskih at gmail dot com>
- Portions created by the Initial Developer are Copyright (C) 2010
- the Initial Developer. All Rights Reserved.
-
- Contributor(s):
-
- 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 LGPL or the GPL. 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 ***** -->
この後、common.jarを抽出したフォルダーで次のコマンドを実行して、jarファイルを再作成します。
jar cf common.jar *
次に、元のjarファイルをこれに置き換えます。
その他のファイル
/plugin.xml
ここで、 37行目にscss拡張機能を含めます。
extends = "xml、xsd、xsl、dtd、hrc、hrd、html、htm、xhtml、rhtml、erb、yml、haml、sass、scss、css、asp、aspx、jsp、fo、svg、dbk、docbook、jhtml 、jspf、php、php3、php4、phtml、sgm、sgml、shtm、shtml "
そして最後に、の行200〜203を複製しcolorer/hrc/proto.hrc
ます。結果は次のようになります。
<prototype name="sass" group="inet" description="SASS">
<location link="jar:common.jar!inet/sass.hrc"/>
<filename>/\.(sass)$/i</filename>
</prototype>
<prototype name="scss" group="inet" description="SCSS">
<location link="jar:common.jar!inet/scss.hrc"/>
<filename>/\.(scss)$/i</filename>
</prototype>
この後、Eclipseを再起動すると、.scssファイルの構文が強調表示されます。