Giter Club home page Giter Club logo

gams-mode's People

Contributors

christophe-gouel avatar shirotakeda avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

gams-mode's Issues

auto-completion

Hi,

I would like for gams-mode to have a standard emacs auto-completion. I am aware of your gams-ac package, but the auto-complete package is de facto no longer maintained and company-mode is the new standard.

I have started something that seems to work:

  • I have imported the full list of GAMS commands (the people from GAMS gave me the location).
  • Enabled a standard completion-at-point using this list.
  • And for those who wants to use company, I have defined the proper backends. But this is optional, it can works with other completion frameworks since it relies on the emacs standard completion functions.

I barely know elisp, so I did it with a big help from ChatGPT.

Are you interested by a PR?

Faces do not seem to work inside slashes

Hi,

The face inside slashes is the same as the face of the statement. See below
image

My (limited) understanding of the code is that this should be different, but it does not seem to work. The result is the same if I switch to another theme.

Depending on the statement, it can be quite confusing. See for example:
image

Polymode

Hi,

I have started implementing a polymode (https://polymode.github.io) for your gams-mode to handle the Python code embedded in GAMS ($onembedded Python:).

For now, this just lives in my init.el. Are you interested in a PR?

Best,
Christophe

Font-locking

Hi,

I have put in my auto-completion branch which is in the last PR a file to test font-locking: https://github.com/christophe-gouel/gams-mode/blob/auto-completion/test_fontlocking.gms.

I have identified in it two small issues:

  • GAMS dollar commands are not colorized if written without dollar on the same line of another dollar command.
  • Labels are colorized differently if written with or without quotes. With quotes, the font used is the one used for set elements.

I am sorry but my elisp skills are not good enough to help fix these issues.

These are small issues (the first one is not even dealt with in GAMS Studio), but there may be an easy fix. If not, don't bother.

Replace comment-region by comment-or-uncomment-region

Hi,

Would it be possible to replace comment-region in what follows by comment-or-uncomment-region? This would allow the same key binding to comment and uncomment.

;; `gams-comment-region' is aliased as `comment-region'.
(if (fboundp 'comment-region)
    (fset 'gams-comment-region 'comment-region)
  (fset 'gams-buffer-substring 'buffer-substring))

gams-mode is not derived from prog-mode

Could you consider making gams-mode a mode derived from prog-mode? See https://www.emacswiki.org/emacs/ProgMode#:~:text='prog%2Dmode'%20is%20a,'prog%2Dmode'%20). for details. This would help automatically enable features that are enabled for all programming modes (for example in my case, rainbow delimiters and smart parenthesis).

If was able to program in elisp, I would propose a pull request, but I cannot do anything beyond tinkering with my init.el file.

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.