rubybuntu-gedit 11.08.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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>
|