Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Add an explicit method to retrieve supported languages.#210

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Open
MischaTheEvil wants to merge2 commits intorubychan:master
base:master
Choose a base branch
Loading
fromMischaTheEvil:add_supported_languages_method

Conversation

@MischaTheEvil
Copy link

The current way of retrieving a list of supported languages from CodeRay (usingCodeRay::Scanners.list, see eg. the Stack Overflow question 'Getting the list of available languages') has two drawbacks/limitations:

  1. it includes "internal" scanners which aren't representing actual languages (debug,raydebug,scanner and potentially thedefault alias);
  2. it does not include language aliases.

I can think of multiple use-cases where one wants to retrieve a list of supported languages, excluding the "internal" scanners and/or including the aliases. One is for example reported as#194.

Recently, Redmine introduced a change where such a list is needed too (revisionsr16501 andr16502). While it is pretty easy to "generate" it downstream (redmine.org issues#25634 and#26055), it requires CodeRay integrators to reinvent the wheel over-and-over again. As such I think it would be handy if this functionality is provided by the CodeRay API itself.

I extracted a new, generalized class method (CodeRay.supported_languages) from the Redmine core, ported it to CodeRay and added some basic test coverage. The method has two optional arguments:

  1. include_aliases (default totrue);
  2. include_internals (default tofalse).

These defaults are taken from Redmine's use-case and, as such, may not suit everyone's needs.

@MischaTheEvil
Copy link
Author

I was caught by the fact that CodeRay still supports Ruby 1.8. I have fixed the incompatibilities in the tests.

Ruby 1.8 (using Test::Unit) doesn't provide:* the assert_includes method;* the refute_includes method;* the refute method.
@MischaTheEvilMischaTheEvilforce-pushed theadd_supported_languages_method branch from830c176 tob75ca18CompareJune 16, 2017 02:54
@kornykorny self-assigned thisJul 7, 2017
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

No reviews

Assignees

@kornykorny

Labels

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

2 participants

@MischaTheEvil@korny

[8]ページ先頭

©2009-2025 Movatter.jp