Coder Social home page Coder Social logo

language-cmake's People

Contributors

cbcoutinho avatar chris-leach avatar dirk-thomas avatar lucas-clemente avatar sryze avatar stenverbois avatar trinitycoder avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

language-cmake's Issues

Support for CMake 3.0+ Multiline Comments

It is written with a starting #[[ and a closing ]].
Example from the docs:

#[[THIS IS A BRACKET COMMENT.
IT RUNS UNTIL THE CLOSE BRACKET.]]
message("First Argument\n" #[[BRACKET COMMENT]] "Second Argument")

(the words in uppercase are the "multiline comments". Case change is added in for effect and does not appear in the original documentation)

Here is a link to the docs: bracket-comment

highlight for .in files

CMake uses .in files as templates in the function configure_file. It would be great if these files would also be highlighted. Due to the nature of being a template this package can only highlight very few parts, e.g. @VAR_NAME@.

In a similar package which provides syntax highlighting to EmPy templates (https://atom.io/packages/language-empy) I use a second file extension to describe the language of the expanded file, e.g. filename.xml.em. language-empy highlights only the template logic and then refers to an existing language to highlight the rest, in this case xml. While it is kind of annoying having to list the various second level extensions that was the only way I could come up with.

Would this feature be reasonable for this package or would you like to keep it in a separate package like language-cmake-in? I am happy to contribute if you think it makes sense to be added to language-cmake.

Add highlight support for CMake modules

Currently modules are not supported by Highlight tools.
The most commonly used module: ExternalData, feature_summary, ExternalProject and FetchContent are not supported:
https://cmake.org/cmake/help/v3.12/module/ExternalProject.html
https://cmake.org/cmake/help/git-stage/module/FetchContent.html
https://cmake.org/cmake/help/git-stage/module/FeatureSummary.html
https://cmake.org/cmake/help/v3.12/module/ExternalData.html

Some real life examples of usage could be found at:
https://mirkokiefer.com/cmake-by-example-f95eb47d45b1

Full list of all available modules are available at:
https://cmake.org/cmake/help/v3.14/manual/cmake-modules.7.html

It will be great to add highlight support for these commands. Thanks

Support missing keywords

The following keywords (https://cmake.org/cmake/help/v3.5/command/if.html) are currently not highlighted atm. These are just examples, there might be others missing:

  • MATCHES
  • STR*
  • VERSION_*
  • IN_LIST

The comment in the code (

'comment': 'There is a script in bundle support for generating this list:\n\t\t\t\truby arg_separators.rb | /Library/Application\\ Support/TextMate/Bundles/Objective-C.tmbundle/Support/list_to_regexp.rb | pbcopy'
) suggests that the list can be updated somehow automatically. From the text alone I couldn't figure out how this should be done. Is there any more information about that process? Then I would be happy to provide a PR for this.

Tab length 2 is automatically changed to 4

Trying to set the tab length to 2 does not work. Doing so, either in the settings interface, or in the config.cson, results in the value being automatically change to 4. Setting any other value than 2 seem to work just fine.

I am using language-cmake v0.2.0 on Atom v.1.8.0.

The ON and TRUE keywords are not colourized

Actually, seeing how GitHub does not colourize them either, I think this issue is more a question. Why are these keywords not colourized (both in your theme and by GitHub)?

TRUE
FALSE

ON
OFF

`set`, `string` and `source_group` not highlighted correctly

Calls to set(...), string(...) and source_group(...) only have the s at the start highlighted correctly, the other characters (et, tring, ource_group) are not highlighted.

This may affect other CMake functions (likely all beginning with s), but I've not had a chance to test them.

Package.loadSettings is deprecated.

Store package settings files in the settings/ directory instead of scoped-properties/

Package.loadSettings (/Applications/Atom.app/Contents/Resources/app/src/package.js:550:9)
<unknown> (/Applications/Atom.app/Contents/Resources/app/src/package.js:172:43)

Package.loadSettings is deprecated.

Store package settings files in the settings/ directory instead of scoped-properties/

Package.loadSettings (C:\Users\Ugo Pattacini\AppData\Local\atom\app-0.189.0\resources\app\src\package.js:565:9)
<unknown> (C:\Users\Ugo Pattacini\AppData\Local\atom\app-0.189.0\resources\app\src\package.js:187:43)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.