rubybuntu-gedit 11.08.18
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +20 -0
- data/Rakefile +28 -0
- data/bin/rubybuntu-gedit +88 -0
- data/data/language-specs/README.rdoc +73 -0
- data/data/language-specs/erb.lang +53 -0
- data/data/language-specs/html-erb.lang +48 -0
- data/data/language-specs/javascript-erb.lang +23 -0
- data/data/language-specs/ruby-bundler-gemfile-lock.lang +101 -0
- data/data/language-specs/ruby-erb.lang +22 -0
- data/data/language-specs/ruby.lang +1068 -0
- data/data/language-specs/ruby.lang-extras/important-constants.rb +7 -0
- data/data/language-specs/ruby.lang-extras/important-methods.rb +3 -0
- data/data/language-specs/ruby.lang-extras/known-bugs.rb +11 -0
- data/data/language-specs/xml-erb.lang +22 -0
- data/data/language-specs/yml-erb.lang +21 -0
- data/data/mime/README.rdoc +17 -0
- data/data/mime/cucumber.xml +9 -0
- data/data/mime/haml.xml +8 -0
- data/data/mime/ruby-builder.xml +9 -0
- data/data/mime/ruby-bundler.xml +13 -0
- data/data/mime/ruby-capistrano.xml +9 -0
- data/data/mime/ruby-erb.xml +62 -0
- data/data/mime/ruby-rack.xml +8 -0
- data/data/mime/ruby-rake.xml +10 -0
- data/data/mime/ruby-thor.xml +10 -0
- data/data/mime/ruby.xml +13 -0
- data/data/mime/sass.xml +14 -0
- data/data/mime/slim.xml +8 -0
- data/data/snippets/MIT-LICENSE +20 -0
- data/data/snippets/README.textile +108 -0
- data/data/snippets/TODO +6 -0
- data/data/snippets/cheatsheet.html +1602 -0
- data/data/snippets/doc/Gemfile +6 -0
- data/data/snippets/doc/Gemfile.lock +16 -0
- data/data/snippets/doc/create_documentation.rb +56 -0
- data/data/snippets/doc/documentation_stylesheet.sass +100 -0
- data/data/snippets/doc/documentation_stylesheet_print.sass +93 -0
- data/data/snippets/doc/documentation_template.haml +36 -0
- data/data/snippets/doc/gedit-snippets-logo.png +0 -0
- data/data/snippets/doc/gedit-snippets-logo.svg +626 -0
- data/data/snippets/doc/method_parser.rb +24 -0
- data/data/snippets/erb.xml +84 -0
- data/data/snippets/html-erb.xml +84 -0
- data/data/snippets/javascript-erb.xml +84 -0
- data/data/snippets/rails_activerecord_associations.xml +34 -0
- data/data/snippets/rails_activerecord_basic.xml +11 -0
- data/data/snippets/rails_activerecord_validations.xml +210 -0
- data/data/snippets/rails_controllers_basic.xml +19 -0
- data/data/snippets/rhtml_basic.xml +70 -0
- data/data/snippets/rhtml_forms.xml +75 -0
- data/data/snippets/rhtml_html.xml +98 -0
- data/data/snippets/ruby-erb.xml +84 -0
- data/data/snippets/ruby_basic.xml +142 -0
- data/data/snippets/ruby_collections.xml +163 -0
- data/data/snippets/shoulda_actioncontroller.xml +73 -0
- data/data/snippets/shoulda_activerecord.xml +127 -0
- data/data/snippets/shoulda_basic.xml +22 -0
- data/data/snippets/snippet_tools.xml +32 -0
- data/data/snippets/xml-erb.xml +84 -0
- data/data/snippets/yml-erb.xml +84 -0
- data/data/styles/README.rdoc +17 -0
- data/data/styles/rubybuntu1.xml +119 -0
- data/rubybuntu-gedit.gemspec +26 -0
- metadata +125 -0
data/README.rdoc
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
= Ruby/Rails/Web related gedit language definitions, mime types, styles and snippets.
|
2
|
+
|
3
|
+
This is not meant to be an alternative to *gedit-plugins* or gmate[https://github.com/gmate/gmate.git], but an addition. It focuses on maintaining the base stuff to provide a foundation for customizing your gedit with plugins.
|
4
|
+
|
5
|
+
=== Contains
|
6
|
+
* {language specifications}[https://github.com/janlelis/rubybuntu-language-specs]
|
7
|
+
* {mime types}[https://github.com/janlelis/rubybuntu-mime]
|
8
|
+
* {styles}[https://github.com/janlelis/rubybuntu-editor-styles]
|
9
|
+
* [snippets}[https://github.com/janlelis/rubybuntu-gedit-snippets]
|
10
|
+
|
11
|
+
Might also contain plugins someday, but only ones directly related to Ruby/Rails/Web stuff.
|
12
|
+
|
13
|
+
== Setup
|
14
|
+
|
15
|
+
Either checkout the sub-repositories (in the data directory) and install each one manually or run
|
16
|
+
|
17
|
+
gem install rubybuntu-gedit
|
18
|
+
rubybuntu-gedit install
|
19
|
+
|
20
|
+
== J-_-L
|
data/Rakefile
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'fileutils'
|
2
|
+
GEMSPEC = 'rubybuntu-gedit.gemspec'
|
3
|
+
|
4
|
+
def gemspec
|
5
|
+
@gemspec ||= eval(File.read( GEMSPEC ), binding, GEMSPEC)
|
6
|
+
end
|
7
|
+
|
8
|
+
desc "Build the gem"
|
9
|
+
task :gem => :gemspec do
|
10
|
+
sh "gem build #{GEMSPEC}"
|
11
|
+
FileUtils.mkdir_p 'pkg'
|
12
|
+
FileUtils.mv "#{gemspec.name}-#{gemspec.version}.gem", 'pkg'
|
13
|
+
end
|
14
|
+
|
15
|
+
desc "Install the gem locally (without docs)"
|
16
|
+
task :install => :gem do
|
17
|
+
sh %{gem install pkg/#{gemspec.name}-#{gemspec.version} --no-rdoc --no-ri}
|
18
|
+
end
|
19
|
+
|
20
|
+
desc "Generate the gemspec"
|
21
|
+
task :generate do
|
22
|
+
puts gemspec.to_ruby
|
23
|
+
end
|
24
|
+
|
25
|
+
desc "Validate the gemspec"
|
26
|
+
task :gemspec do
|
27
|
+
gemspec.validate
|
28
|
+
end
|
data/bin/rubybuntu-gedit
ADDED
@@ -0,0 +1,88 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# The installer was done as fast as possible, so
|
3
|
+
# TODO use dry and maintainable ruby code :D
|
4
|
+
|
5
|
+
# enable colors if possible
|
6
|
+
require 'paint' rescue nil
|
7
|
+
unless defined? Paint
|
8
|
+
module Paint
|
9
|
+
def self.[](*args)
|
10
|
+
args[0]
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
if ARGV.shift != 'install'
|
16
|
+
warn 'Currently, only "rubybuntu-gedit install" is supported. Quitting...'
|
17
|
+
exit
|
18
|
+
end
|
19
|
+
|
20
|
+
def action(what)
|
21
|
+
if what && !what.empty?
|
22
|
+
puts Paint["x] #{what}", :yellow]
|
23
|
+
system what
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def check_existence(what, sudo = true)
|
28
|
+
if File.exists?(what)
|
29
|
+
print ">> The installer found an outdated file at \"#{what}\"\n" \
|
30
|
+
"Q] It's recommended to remove it. Do you want to remove it? [Yn]"
|
31
|
+
action gets.chop =~ /^y?$/i ?
|
32
|
+
"sudo rm -f #{what}"
|
33
|
+
: nil
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
@data = File.dirname(__FILE__) + "/../data"
|
38
|
+
|
39
|
+
puts 'Welcome to the rubybuntu-gedit installer :D'
|
40
|
+
puts 'Before each action I\'ll tell you what I am going to do'
|
41
|
+
puts Paint['Please note: ', :bold] + 'I am pretty untested and might destroy your computer'
|
42
|
+
|
43
|
+
# # #
|
44
|
+
# language specs
|
45
|
+
puts '>> Let\'s start with copying the language specs'
|
46
|
+
print 'Q] Do you want to install the languages specs as sudo [/usr/share/gtksourceview-2.0/language-specs] or in your home directory [~/.local/share/gtksourceview-2.0/language-specs]? [Sh]'
|
47
|
+
action gets.chop =~ /^s?$/i ?
|
48
|
+
"sudo cp #@data/language-specs/*.lang /usr/share/gtksourceview-2.0/language-specs"
|
49
|
+
: "mkdir -p ~/.local/share/gtksourceview-2.0/language-specs\n" \
|
50
|
+
" cp #@data/language-specs/*.lang ~/.local/share/gtksourceview-2.0/language-specs"
|
51
|
+
|
52
|
+
check_existence '/usr/share/gtksourceview-2.0/language-specs/rhtml.lang', true
|
53
|
+
check_existence '/usr/share/gtksourceview-2.0/language-specs/ruby_on_rails.lang', true
|
54
|
+
check_existence '~/.local/share/gtksourceview-2.0/language-specs/rhtml.lang', false
|
55
|
+
check_existence '~/.local/share/gtksourceview-2.0/language-specs/ruby_on_rails.lang', false
|
56
|
+
|
57
|
+
# # #
|
58
|
+
# mime
|
59
|
+
puts '>> Now the mime types should be updated'
|
60
|
+
print 'Q] Do you want to install the mime types as sudo [/usr/share/mime/packages] or in your home directory [~/.local/share/gtksourceview-2.0/language-specs]? [Sh]'
|
61
|
+
action gets.chop =~ /^s?$/i ?
|
62
|
+
"sudo cp #@data/mime/*.xml /usr/share/mime/packages\n" \
|
63
|
+
" sudo update-mime-database /usr/share/mime"
|
64
|
+
: "mkdir -p ~/.local/share/mime/packages\n" \
|
65
|
+
" cp #@data/mime/*.xml ~/.local/share/mime/packages" \
|
66
|
+
" update-mime-database ~/.local/share/mime"
|
67
|
+
|
68
|
+
check_existence '/usr/share/mime/rails.xml', true
|
69
|
+
check_existence '~/.local/share/mime/rails.xml', false
|
70
|
+
|
71
|
+
# # #
|
72
|
+
# styles
|
73
|
+
puts '>> Now, some styles get copied that use the new language specs :)'
|
74
|
+
print 'Q] Do you want to install the styles as sudo [/usr/share/gtksourceview-2.0/styles] or in your home directory [~/.local/share/gtksourceview-2.0/styles]? [Sh]'
|
75
|
+
action gets.chop =~ /^s?$/i ?
|
76
|
+
"sudo cp #@data/styles/*.xml /usr/share/gtksourceview-2.0/styles"
|
77
|
+
: "mkdir -p ~/.local/share/gtksourceview-2.0/styles\n" \
|
78
|
+
" cp #@data/language-specs/*.lang ~/.local/share/gtksourceview-2.0/styles"
|
79
|
+
|
80
|
+
# # #
|
81
|
+
# snippets
|
82
|
+
puts '>> Sorry, currently, the snippets cannot installed via this installer'
|
83
|
+
|
84
|
+
puts Paint["Congratulations! You've updated your gedit stuff! (if everything worked correctly °_°)", :green]
|
85
|
+
puts "If not, please install manually and open an issue on github"
|
86
|
+
puts 'Don\'t forget to change your gedit style to "RubyBuntu One" ;)'
|
87
|
+
puts
|
88
|
+
puts " J-_-L"
|
@@ -0,0 +1,73 @@
|
|
1
|
+
= Ruby/Rails/Web related gedit/gtksourceview language definitions.
|
2
|
+
|
3
|
+
Part of {RubyBuntuGedit}[https://github.com/janlelis/rubybuntu-gedit]
|
4
|
+
|
5
|
+
== Features
|
6
|
+
Contains various language specs needed by Ruby/Rails/Web developers and also tries to maintain them.
|
7
|
+
|
8
|
+
* The Ruby language specification has been improved alot. It uses 1.9.2 as reference implementation, recognizes many Ruby-specific language constructs (that can be highlighted differently) and implements many language details. To see all these changes, you need a style that supports ("uses") the new specification, for example, {these styles}[https://github.com/janlelis/rubybuntu-editor-styles]. See below for a changelog summary.
|
9
|
+
* ERB is not only usable with HTML, but also with JavaScript, YAML and XML.
|
10
|
+
* Gemfile.lock highlighting
|
11
|
+
|
12
|
+
== Setup
|
13
|
+
|
14
|
+
You should also use up-to-date {mime types}[https://github.com/janlelis/rubybuntu-mime].
|
15
|
+
|
16
|
+
=== as root
|
17
|
+
|
18
|
+
sudo cp *.lang /usr/share/gtksourceview-2.0/language-specs
|
19
|
+
# you can also delete the rhtml.lang (now done via html-erb)
|
20
|
+
sudo rm -f /usr/share/gtksourceview-2.0/language-specs/rhtml.lang
|
21
|
+
# and the ruby_on_rails.lang (except you want to have rails highlighting with an extra language..)
|
22
|
+
sudo rm -f /usr/share/gtksourceview-2.0/language-specs/ruby_on_rails.lang
|
23
|
+
|
24
|
+
=== as non-root
|
25
|
+
|
26
|
+
mkdir -p ~/.local/share/gtksourceview-2.0/language-specs
|
27
|
+
cp *.lang ~/.local/share/gtksourceview-2.0/language-specs
|
28
|
+
# you can also delete the rhtml.lang (now done via html-erb)
|
29
|
+
rm -f ~/.local/share/gtksourceview-2.0/language-specs/rhtml.lang
|
30
|
+
# and the ruby_on_rails.lang (except you want to have rails highlighting with an extra language..)
|
31
|
+
rm -f ~/.local/share/gtksourceview-2.0/language-specs/ruby_on_rails.lang
|
32
|
+
|
33
|
+
|
34
|
+
== CHANGES
|
35
|
+
=== ruby.lang
|
36
|
+
* Uses 1.9 as reference implementation
|
37
|
+
* No Rails keywords, no extra language for Rails
|
38
|
+
* Refactored/updated keyword and builtin detection, highlight important constants and methods
|
39
|
+
* Improved function definition highlighting
|
40
|
+
* More logical style mappings (which also means: current styles are not fully ruby:compatible)
|
41
|
+
* Fixed string interpolations
|
42
|
+
* Better support for advanced literals (e.g. `%x[]`, `%r<>`, ...)
|
43
|
+
* Support Arrays & Hashes (inclusive 1.9 symbol syntax)
|
44
|
+
* Different heredoc matching
|
45
|
+
* Better symbol detection
|
46
|
+
* Small language details, like recognizing `__END__`
|
47
|
+
* See `git log` for full details
|
48
|
+
* Based on https://github.com/gmate/gmate/blob/master/lang-specs/ruby_on_rails.lang
|
49
|
+
|
50
|
+
== TODO
|
51
|
+
=== ruby.lang - Advanced TODOs (or: build a "real" parser)
|
52
|
+
* Improve heredocs (e.g. nested ones)
|
53
|
+
* Different colorizations for "end"s (e.g. def/begin, class/module, while/until, if/case, block), needs to detect modifier statements correctly
|
54
|
+
* Detect (multi-line) yard doc tag values
|
55
|
+
* Add escapable char for generic string delimiters
|
56
|
+
* Advanced regex highlighting (maybe there is already something for pcre out there?)
|
57
|
+
* ruby.lang-extras/known-bugs.rb
|
58
|
+
|
59
|
+
=== Languages to add/import/update
|
60
|
+
* SASS / SCSS / CSS
|
61
|
+
* COFFEE
|
62
|
+
* HAML
|
63
|
+
* SLIM
|
64
|
+
* YAML
|
65
|
+
* CUCUMBER
|
66
|
+
|
67
|
+
Meanwhile, you can, for example, use the ones found in gmate[https://github.com/gmate/gmate/tree/master/lang-specs]
|
68
|
+
|
69
|
+
=== MAYBE
|
70
|
+
* RDOC markup support (and cross-referencing in ruby)
|
71
|
+
* ruby: make unicode-aware/test with unicode code
|
72
|
+
|
73
|
+
== J-_-L
|
@@ -0,0 +1,53 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<language id="erb" _name="Embedded Ruby (erb)" version="2.0" _section="Markup">
|
3
|
+
<metadata>
|
4
|
+
<property name="mimetypes">text/erb</property>
|
5
|
+
<property name="globs">*(?<!text).erb</property>
|
6
|
+
</metadata>
|
7
|
+
|
8
|
+
<styles>
|
9
|
+
<style id="tag" _name="ERB tag: <%" map-to="xml:cdata-delim"/>
|
10
|
+
<style id="output" _name="ERB output tag_ <%=" map-to="erb:tag"/>
|
11
|
+
<style id="comment" _name="ERB comment: <%#" map-to="xml:comment"/>
|
12
|
+
</styles>
|
13
|
+
|
14
|
+
<definitions>
|
15
|
+
<context id="block-comment" style-ref="comment">
|
16
|
+
<start><%#</start>
|
17
|
+
<end>-?%></end>
|
18
|
+
<include>
|
19
|
+
<context ref="def:in-comment"/>
|
20
|
+
</include>
|
21
|
+
</context>
|
22
|
+
|
23
|
+
<context id="block-output" class="no-spell-check">
|
24
|
+
<start><%=</start>
|
25
|
+
<end>-?%></end>
|
26
|
+
<include>
|
27
|
+
<context where="start" sub-pattern="0" style-ref="output"/>
|
28
|
+
<context where="end" sub-pattern="0" style-ref="output"/>
|
29
|
+
<context ref="ruby:ruby"/>
|
30
|
+
</include>
|
31
|
+
</context>
|
32
|
+
|
33
|
+
<context id="block" class="no-spell-check">
|
34
|
+
<start><%</start>
|
35
|
+
<end>-?%></end>
|
36
|
+
<include>
|
37
|
+
<context where="start" sub-pattern="0" style-ref="tag"/>
|
38
|
+
<context where="end" sub-pattern="0" style-ref="tag"/>
|
39
|
+
<context ref="ruby:ruby"/>
|
40
|
+
</include>
|
41
|
+
</context>
|
42
|
+
|
43
|
+
<context id="erb">
|
44
|
+
<include>
|
45
|
+
<context ref="block-comment"/>
|
46
|
+
<context ref="block-output"/>
|
47
|
+
<context ref="block"/>
|
48
|
+
</include>
|
49
|
+
</context>
|
50
|
+
|
51
|
+
</definitions>
|
52
|
+
</language>
|
53
|
+
|
@@ -0,0 +1,48 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<language id="html-erb" _name="HTML (erb)" version="2.0" _section="Markup">
|
3
|
+
<metadata>
|
4
|
+
<property name="mimetypes">text/x-html-erb</property>
|
5
|
+
<property name="globs">*.html.erb;*.rhtml</property>
|
6
|
+
<property name="block-comment-start"><!--</property>
|
7
|
+
<property name="block-comment-end">--></property>
|
8
|
+
</metadata>
|
9
|
+
|
10
|
+
<!-- also see erb.lang -->
|
11
|
+
|
12
|
+
<styles><!-- you should not edit these but the original ones -->
|
13
|
+
<style id="tag" _name="ERB tag" map-to="erb:tag"/>
|
14
|
+
<style id="output" _name="ERB output tag" map-to="erb:output"/>
|
15
|
+
<style id="ruby-method" _name="Ruby method" map-to="ruby:method"/>
|
16
|
+
<style id="ruby-keyword" _name="Ruby keyword" map-to="ruby:keyword"/>
|
17
|
+
</styles>
|
18
|
+
|
19
|
+
<definitions>
|
20
|
+
<!-- JS code inside javascript_tag -->
|
21
|
+
<context id="javascript-block">
|
22
|
+
<start>(<%=)\s*(javascript_tag)\s*(do|\{)\s*(%>)</start>
|
23
|
+
<end>(<%)\s*(end|})\s*(%>)</end>
|
24
|
+
<include>
|
25
|
+
<context where="start" sub-pattern="1" style-ref="output"/>
|
26
|
+
<context where="start" sub-pattern="2" style-ref="ruby-method"/>
|
27
|
+
<context where="start" sub-pattern="3" style-ref="ruby-keyword"/>
|
28
|
+
<context where="start" sub-pattern="4" style-ref="output"/>
|
29
|
+
<context where="end" sub-pattern="1" style-ref="tag"/>
|
30
|
+
<context where="end" sub-pattern="2" style-ref="ruby-keyword"/>
|
31
|
+
<context where="end" sub-pattern="3" style-ref="tag"/>
|
32
|
+
<context ref="js:js"/>
|
33
|
+
</include>
|
34
|
+
</context>
|
35
|
+
|
36
|
+
<replace id="html:embedded-lang-hook" ref="erb:block"/><!-- allow erb tags in strings -->
|
37
|
+
|
38
|
+
<context id="html-erb">
|
39
|
+
<include>
|
40
|
+
<context ref="javascript-block"/>
|
41
|
+
<context ref="erb:erb"/>
|
42
|
+
<context ref="html:html"/>
|
43
|
+
</include>
|
44
|
+
</context>
|
45
|
+
|
46
|
+
</definitions>
|
47
|
+
</language>
|
48
|
+
|
@@ -0,0 +1,23 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
|
3
|
+
<language id="js-erb" _name="JavaScript (erb)" version="2.0" _section="Markup">
|
4
|
+
<metadata>
|
5
|
+
<property name="mimetypes">application/x-javascript-erb;text/x-javascript-erb</property>
|
6
|
+
<property name="globs">*.js.erb</property>
|
7
|
+
<property name="line-comment-start">//</property>
|
8
|
+
<property name="block-comment-start">/*</property>
|
9
|
+
<property name="block-comment-end">*/</property>
|
10
|
+
</metadata>
|
11
|
+
|
12
|
+
<!-- also see erb.lang -->
|
13
|
+
|
14
|
+
<definitions>
|
15
|
+
<context id="js-erb">
|
16
|
+
<include>
|
17
|
+
<context ref="erb:erb"/>
|
18
|
+
<context ref="js:js"/>
|
19
|
+
</include>
|
20
|
+
</context>
|
21
|
+
</definitions>
|
22
|
+
</language>
|
23
|
+
|
@@ -0,0 +1,101 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!--
|
3
|
+
|
4
|
+
Copyright (C) 2011 Jan Lelis <mail@janlelis.de>
|
5
|
+
|
6
|
+
This library is free software; you can redistribute it and/or modify
|
7
|
+
it under the terms of the GNU General Public License as published by
|
8
|
+
the Free Software Foundation; either version 2 of the License, or
|
9
|
+
(at your option) any later version.
|
10
|
+
|
11
|
+
This program is distributed in the hope that it will be useful,
|
12
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
14
|
+
GNU General Public License for more details.
|
15
|
+
|
16
|
+
You should have received a copy of the GNU General Public License
|
17
|
+
along with this program; if not, write to the Free Software
|
18
|
+
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
19
|
+
|
20
|
+
-->
|
21
|
+
<language id="ruby-bundler-gemfile-lock" _name="Bundler Gemfile.lock" version="2.0" _section="Others">
|
22
|
+
<metadata>
|
23
|
+
<property name="mimetypes">application/x-ruby-bundler-gemfile-lock;text/x-ruby-bundler-gemfile-lock</property>
|
24
|
+
<property name="globs">Gemfile.lock</property>
|
25
|
+
</metadata>
|
26
|
+
|
27
|
+
<styles>
|
28
|
+
<style id="gem_name" _name="Gem Name" map-to="def:identifier"/>
|
29
|
+
<style id="gem_dependency_type" _name="Gem Dependency Type" map-to="def:type"/><!-- TODO/maybe: not via regex (multiple dependencies) -->
|
30
|
+
<style id="gem_dependency_version" _name="Gem Dependency Version" map-to="def:type"/>
|
31
|
+
<style id="heading" _name="Heading" map-to="def:comment"/>
|
32
|
+
<style id="key" _name="Key" map-to="def:keyword"/>
|
33
|
+
<style id="value" _name="Value" map-to="def:string"/>
|
34
|
+
<style id="important" _name="Exclamation Mark" map-to="def:type"/>
|
35
|
+
</styles>
|
36
|
+
|
37
|
+
<definitions>
|
38
|
+
<context id="ruby-bundler-gemfile-lock">
|
39
|
+
<include>
|
40
|
+
<context ref="types"/>
|
41
|
+
<context ref="values"/>
|
42
|
+
<context ref="specs"/>
|
43
|
+
<context ref="dependency_block"/>
|
44
|
+
<context ref="platform_block"/>
|
45
|
+
</include>
|
46
|
+
</context>
|
47
|
+
|
48
|
+
|
49
|
+
<context id="types" style-ref="heading">
|
50
|
+
<keyword>GIT</keyword>
|
51
|
+
<keyword>GEM</keyword>
|
52
|
+
<keyword>PATH</keyword>
|
53
|
+
</context>
|
54
|
+
|
55
|
+
<context id="values" end-at-line-end="true">
|
56
|
+
<start>^ ([a-zA-Z0-9_]+:) (.*)$</start>
|
57
|
+
<include>
|
58
|
+
<context sub-pattern="1" where="start" style-ref="key"/>
|
59
|
+
<context sub-pattern="2" where="start" style-ref="value"/>
|
60
|
+
</include>
|
61
|
+
</context>
|
62
|
+
|
63
|
+
<context id="specs">
|
64
|
+
<start> specs:</start>
|
65
|
+
<end>^$</end>
|
66
|
+
<include>
|
67
|
+
<context sub-pattern="0" where="start" style-ref="key"/>
|
68
|
+
<context ref="dependencies"/>
|
69
|
+
</include>
|
70
|
+
</context>
|
71
|
+
|
72
|
+
<context id="dependency_block">
|
73
|
+
<start>DEPENDENCIES</start>
|
74
|
+
<end>^$</end>
|
75
|
+
<include>
|
76
|
+
<context sub-pattern="0" where="start" style-ref="heading"/>
|
77
|
+
<context ref="dependencies"/>
|
78
|
+
</include>
|
79
|
+
</context>
|
80
|
+
|
81
|
+
<context id="dependencies" end-at-line-end="true">
|
82
|
+
<start>^ +(?! )(.*?)(?: \(([^\s\w]*)([^-]*)(?:-(.*))?\))?(!)?$</start><!-- see lib/bundler/lockfile_parser.rb ^ {2}(?! )(.*?)(?: \(([^-]*)(?:-(.*))?\))?'(!)?$ -->
|
83
|
+
<include>
|
84
|
+
<context sub-pattern="1" where="start" style-ref="gem_name"/>
|
85
|
+
<context sub-pattern="2" where="start" style-ref="gem_dependency_type"/>
|
86
|
+
<context sub-pattern="3" where="start" style-ref="gem_dependency_version"/>
|
87
|
+
<context sub-pattern="5" where="start" style-ref="important"/>
|
88
|
+
</include>
|
89
|
+
</context>
|
90
|
+
|
91
|
+
|
92
|
+
<context id="platform_block" style-ref="value">
|
93
|
+
<start>PLATFORMS</start>
|
94
|
+
<end>^$</end>
|
95
|
+
<include>
|
96
|
+
<context sub-pattern="0" where="start" style-ref="heading"/>
|
97
|
+
</include>
|
98
|
+
</context>
|
99
|
+
|
100
|
+
</definitions>
|
101
|
+
</language>
|
@@ -0,0 +1,22 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
|
3
|
+
<language id="ruby-erb" _name="JavaScript (erb)" version="2.0" _section="Markup">
|
4
|
+
<metadata>
|
5
|
+
<property name="mimetypes">application/x-ruby-erb;text/x-ruby-erb</property>
|
6
|
+
<property name="globs">*.rb.erb;*.gemspec.erb;*.rake.erb;*.ru.erb;*thor.erb;Rakefile.erb;Capfile.erb;Gemfile.erb;Thorfile.erb</property>
|
7
|
+
<property name="line-comment-start">#</property>
|
8
|
+
<property name="block-comment-start">=begin</property>
|
9
|
+
<property name="block-comment-end">=end</property>
|
10
|
+
</metadata>
|
11
|
+
|
12
|
+
<!-- also see erb.lang -->
|
13
|
+
|
14
|
+
<definitions>
|
15
|
+
<context id="ruby-erb">
|
16
|
+
<include>
|
17
|
+
<context ref="erb:erb"/>
|
18
|
+
<context ref="ruby:ruby"/>
|
19
|
+
</include>
|
20
|
+
</context>
|
21
|
+
</definitions>
|
22
|
+
</language>
|