Create an account

Very important

  • To access the important data of the forums, you must be active in each forum and especially in the leaks and database leaks section, send data and after sending the data and activity, data and important content will be opened and visible for you.
  • You will only see chat messages from people who are at or below your level.
  • More than 500,000 database leaks and millions of account leaks are waiting for you, so access and view with more activity.
  • Many important data are inactive and inaccessible for you, so open them with activity. (This will be done automatically)


Thread Rating:
  • 460 Vote(s) - 3.56 Average
  • 1
  • 2
  • 3
  • 4
  • 5
How do I enable syntax highlighting for my Gemfile in Sublime Text 2?

#1
I recently started using Sublime Text 2. What an awesome editor. It does a great job of highlighting Ruby code, but it does not highlight my Gemfile.

Is there a way to get it to do that?

I found [this Gist][1] but it has no instructions on how to use it.


[1]:

[To see links please register here]

Reply

#2
If you are here but are using Sublime Text 3 you might not be able able to find the 'list of Ruby-syntax files' in packages.

Most other solutions found online were confusing to me.

I fixed this by manually changing Gemfile to Ruby in the bottom right hand corner file extension menu item when you have opened the file in Sublime Text 3 (which is what I had been doing each time I opened the file up until now).

Once you have selected ruby then go to Preferences -> Settings-More -> Syntax Specific-User

{
"extensions":
[
"Gemfile",
"Gemfile.lock"
]
}

When you navigate to Syntax Specific User it opens a file specific to the language that the file has syntax highlighting for. You may need to change the file back to whatever it is defaulting too (mine was 'Rd (R Documentation).sublime-settings') and removing Gemfile from that Syntax highlighting file.

In Ubuntu these files are stored at

~/.config/sublime-text-3/Packages/User
Reply

#3
There are at least three options:

1. Switch syntax manually (not preferred, but easy; no explanation required)<br/>
1. Add `"Gemfile"` to the list of Ruby-syntax files<br/>
1. Use the plugin you link to and create a package for it<br/>

----

**1\. No explanation, but handy trick**

You can bind a keystroke to set syntax without moving to the mouse.

I bound syntax changing to <kbd>Ctrl-Opt-Space</kbd> by adding the following to my user keybindings:

<!-- language: lang-javascript -->

[
{ "keys": ["ctrl+alt+space"],
"command": "show_overlay",
"args": { "overlay": "command_palette", "text": "Set Syntax: " } }
]

**2\. Add `"Gemfile"` to list of Ruby-syntax files**

* *Linux:* `~/.config/sublime-text-2/Packages/Ruby/Ruby.tmLanguage`
* *OS X:* `~/Library/Application Support/Sublime Text 2/Packages/Ruby/Ruby.tmLanguage`
* *Windows:* `%APPDATA%/Sublime Text 2/Packages/Ruby/Ruby.tmLanguage`

You can also get there by using the menu option `Preferences -> Browse Packages` and going into the Ruby package. Once you're in the file it'll be obvious: it's the `<array>` element with Ruby-looking filenames. Add `<string>Gemfile</string>` and you're all set.

It's possible the setting could get overwritten on an upgrade; I'm not sure how that works with ST2–it may be cleaner to do it through code as in the snippet.

**3\. Using the snippet you linked to**

More work (and the correction of one syntax error). You can either do it manually, by creating a directory in `Packages` (see above for location) or create an actual package and allow ST2 to install it.

I created a test package called `"Syntax"` and copied the snippet into it, restarted ST2, and opening a `Gemfile` worked as expected. The correction required an additional colon ([new gist](

[To see links please register here]

)), nutshell:

elif name[-3] == "erb": # Needed a semi-colon here.
set_sintax(view, "HTML (Rails)", "Rails")
Reply

#4
The DetectSyntax plugin for ST2 provides a more comprehensive solution to highlighting files - It allows file highlighting based on rules. It's smart enough to understand the difference between a Rails file, other files that use `.rb` as an extension and standard ruby files.

The standard rules include `Gemfile`, `Rakefile`, `Guardfile` and others matched to Ruby for Syntax formatting.

See [DetectSyntax on GitHub][1].


[1]:

[To see links please register here]

Reply

#5
You can achieve this by copying the HTML.tmLanguage file in the User/ folder, this way it won't be overwritten by an update.
Reply



Forum Jump:


Users browsing this thread:
1 Guest(s)

©0Day  2016 - 2023 | All Rights Reserved.  Made with    for the community. Connected through