From: Dmitry Gutov <dgutov@yandex.ru>
To: Bozhidar Batsov <bozhidar@batsov.com>
Cc: Stefan Monnier <monnier@iro.umontreal.ca>, emacs-devel@gnu.org
Subject: Re: Small improvements to ruby-mode
Date: Sat, 22 Jun 2013 03:31:22 +0400 [thread overview]
Message-ID: <87txkrm46t.fsf@yandex.ru> (raw)
In-Reply-To: <jwvli63b88z.fsf-monnier+emacs@gnu.org> (Stefan Monnier's message of "Fri, 21 Jun 2013 15:10:44 -0400")
>> * Font-lock changes
>> Some of the Ruby "keywords" that are currently highlighted as keywords are
>> not actually Ruby keywords, but plain methods - alias_method,
>> module_function, throw, raise, private, protected, public. I feel that they
>> should not be highlighted like this to keep the highlighting syntactically
>> correct. Technically speaking true, false and self are also keywords, but
>> given their semantics I guess the current highlighting is ok.
>> On a related note I think that it would make sense to use
>> font-lock-builtin-face for methods like alias_method, module_function,
>> throw, raise, private, protected, public and other keyword like methods for
>> Kernel and Module. I feel that such a move would increase the readability of
>> the Ruby source code.
Good idea, done in revno 113128. I also added require, require_relative
and autoload to the second list. Should we add more, e.g. include,
attr_accessor, using, refine?
>> * Treat more filenames/file extensions as Ruby code
>
>> Most Rubyists these days have to add the following in their Emacs config:
>
>> (add-to-list 'auto-mode-alist '("\\.rake\\'" . ruby-mode))
>> (add-to-list 'auto-mode-alist '("\\.ru\\'" . ruby-mode))
>> (add-to-list 'auto-mode-alist '("Gemfile\\'" . ruby-mode))
>> (add-to-list 'auto-mode-alist '("Guardfile\\'" . ruby-mode))
>> (add-to-list 'auto-mode-alist '("Capfile\\'" . ruby-mode))
>> (add-to-list 'auto-mode-alist '("\\.thor\\'" . ruby-mode))
>> (add-to-list 'auto-mode-alist '("Thorfile\\'" . ruby-mode))
>> (add-to-list 'auto-mode-alist '("Vagrantfile\\'" . ruby-mode))
>> (add-to-list 'auto-mode-alist '("\\.jbuilder\\'" . ruby-mode))
>
> These should be consolidated into a single regexp and should probably be
> made a bit tighter (e.g. don't put BadCapfile in ruby-mode).
Also done, revno 113129 and 113130.
> I'm not too happy about having so many different patterns, tho (even if
> consolidated into a single regexp). Why are so many different namings
> used?
These are for different tools, using different DSLs inside. Anyway, I
blame Make, they started it.
> It sounds like the Ruby people consider that all the world is
> Ruby and other tools just have to deal with it. Would it have been so
> hard to add a .rb to all those <Foo>file ?
Most of (?) these work just as well if you add the extension, but nobody
actually does that.
>> * Implement some ruby-tools like commands in ruby-mode
>> ruby-tools is a small package, that adds some extra code manipulation
>> commands https://github.com/rejeep/ruby-tools
>
> We could integrate it into ruby-mode, of course.
I'm not so sure about re-implementing it, though. It's easy enough to
install in its current form, no?
Patches and suggestions on what polish we could provide exactly are
always welcome.
next prev parent reply other threads:[~2013-06-21 23:31 UTC|newest]
Thread overview: 72+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-21 16:00 Small improvements to ruby-mode Bozhidar Batsov
2013-06-21 19:10 ` Stefan Monnier
2013-06-21 23:31 ` Dmitry Gutov [this message]
2013-06-21 23:45 ` Glenn Morris
2013-06-22 0:12 ` Dmitry Gutov
2013-06-22 7:05 ` Bozhidar Batsov
2013-06-22 13:28 ` Dmitry Gutov
2013-06-22 15:30 ` Stefan Monnier
2013-06-23 6:20 ` Bozhidar Batsov
2013-06-23 12:30 ` Dmitry Gutov
2013-06-24 13:49 ` Bozhidar Batsov
2013-07-01 18:32 ` Dmitry Gutov
2013-07-01 21:41 ` Bozhidar Batsov
2013-07-01 21:50 ` Dmitry Gutov
[not found] ` <CAM9Zgm3Uw-TfW9aT7zdA1r=etsb26xAcW7DHJ_7=NfArFE8e5A@mail.gmail.com>
2013-07-02 18:38 ` Dmitry Gutov
2013-07-03 15:46 ` Dmitry Gutov
[not found] ` <CAM9Zgm1_Jmn7Z4ZwSkPURAFOdTCURQP-TEDeys0dR4Uqyr8mfw@mail.gmail.com>
2013-07-05 10:30 ` Dmitry Gutov
2013-07-05 11:08 ` Stefan Monnier
2013-07-05 11:55 ` Dmitry Gutov
2013-07-05 22:18 ` Stefan Monnier
2013-07-05 13:01 ` Bozhidar Batsov
2013-07-05 14:15 ` Dmitry Gutov
2013-07-06 5:31 ` Bozhidar Batsov
2013-07-06 9:37 ` Dmitry Gutov
2013-07-06 12:23 ` Bozhidar Batsov
2013-07-06 15:47 ` Dmitry Gutov
2013-07-07 21:56 ` Stefan Monnier
2013-07-07 23:22 ` Dmitry Gutov
2013-07-08 9:22 ` Stefan Monnier
2013-07-09 0:40 ` Dmitry Gutov
2013-07-09 8:50 ` Stefan Monnier
2013-07-09 12:57 ` Bozhidar Batsov
2013-07-08 9:33 ` Bozhidar Batsov
2013-07-08 9:37 ` Bozhidar Batsov
2013-07-09 1:19 ` Dmitry Gutov
2013-07-09 12:55 ` Bozhidar Batsov
2013-07-09 14:36 ` Bozhidar Batsov
2013-07-09 16:07 ` Bozhidar Batsov
2013-07-09 17:18 ` Dmitry Gutov
2013-07-10 6:23 ` Bozhidar Batsov
2013-07-09 17:09 ` Dmitry Gutov
2013-07-10 6:09 ` Bozhidar Batsov
2013-07-10 18:09 ` Dmitry Gutov
2013-07-11 11:23 ` Bozhidar Batsov
2013-07-12 20:31 ` Dmitry Gutov
[not found] ` <CAM9Zgm2NbtNkm8p+SL=kYd-u90r5ELTvJrj4rxm8_Yk5QVN4WA@mail.gmail.com>
2013-07-13 10:24 ` Bozhidar Batsov
2013-07-13 19:10 ` Dmitry Gutov
2013-07-15 13:53 ` Bozhidar Batsov
2013-07-16 13:18 ` Bozhidar Batsov
2013-07-16 14:47 ` Dmitry Gutov
2013-08-08 15:56 ` Bozhidar Batsov
2013-08-08 21:21 ` Dmitry Gutov
2013-08-08 22:47 ` Stefan Monnier
2013-08-08 23:54 ` Dmitry Gutov
2013-08-09 14:52 ` Stefan Monnier
2013-08-10 11:45 ` Dmitry Gutov
2013-08-10 13:23 ` Stefan Monnier
2013-08-11 11:54 ` Bozhidar Batsov
2013-08-11 13:08 ` Dmitry Gutov
2013-08-11 14:08 ` Johan Andersson
2013-08-11 14:29 ` Dmitry Gutov
2013-08-11 15:18 ` Johan Andersson
2013-08-11 16:56 ` Stefan Monnier
2013-08-11 20:55 ` Johan Andersson
2013-08-12 1:52 ` Stefan Monnier
2013-09-13 9:10 ` Bozhidar Batsov
2013-09-13 9:26 ` Johan Andersson
2013-09-13 13:24 ` Stefan Monnier
2013-09-13 13:27 ` Johan Andersson
2013-07-05 22:35 ` Stefan Monnier
2013-07-06 5:14 ` Bozhidar Batsov
2013-07-06 9:38 ` Dmitry Gutov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87txkrm46t.fsf@yandex.ru \
--to=dgutov@yandex.ru \
--cc=bozhidar@batsov.com \
--cc=emacs-devel@gnu.org \
--cc=monnier@iro.umontreal.ca \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).