Giter Site home page Giter Site logo

gleam-mode's People

Contributors

benreyn avatar j3rn avatar lpil avatar mainshayne233 avatar picandocodigo avatar seubert avatar sidneymillen avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gleam-mode's Issues

Cant clone the repo

I've set up gleam with vscode, so it works fine there.

But I wanted to try gleam with Emacs and got this error:

git clone --recurse-submodules [email protected]:gleam-lang/gleam-mode
Cloning into 'gleam-mode'...
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Any idea why this happens?

One possible workaround would be to fork the repo.

Would you want help publishing the code to MELPA?
Im new to emacs/gleam, but I'd be happy to help.

Commenting does not work

I'm on Emacs GNU Emacs 29.0.60 (and Doom Emacs config package)

I can't seem to get commenting work, that is, when I

  1. start a comment // some comment
  2. press return
  3. I get a cursor at new line, but no // is added

I have all these gleam settings working:

  ;; Comment settings
  (setq-local comment-start "// ")
  (setq-local comment-end "")
  (setq-local comment-start-skip "//+ *")
  (setq-local comment-use-syntax t)
  (setq-local comment-auto-fill-only-comments t)

Pull new treesitter to allow for "let assert"

Gday,

It looks as though the gitsubmodule for treesitter could do with an update. The current git submodule points to a version of treesitter that doesn't support let assert, messing with the synax with new gleam 0.27.

I hope that made sense. In the mean time, if anyone is having a problem with emacs syntax highlighting since the "let assert" change, you can:

Remove the git module
rm -rf tree-sitter-gleam

Then check out the new tree sitter
git clone https://github.com/gleam-lang/tree-sitter-gleam.git

It may require building.
cargo build

You probably need to restart emacs after. This seemed to fix it for me.

No syntax highlighting with gleam-mode

I have just installed gleam-mode followed the instruction, and it loads fine (gleam tree-sitter company) when I open a .gleam file but there is no syntax highlighting. Not sure how to fix this nor to give more debug info.

Use Emacs 29 built-in Tree-Sitter Support

Aside: This is most likely going to just be a note to myself.

Emacs 29 introduces first-party support for tree-sitter, so we'd no longer have to rely on a third-party package to provide syntax highlighting. We should transition to this new system when possible.

Add a license

Full disclosure: I am not an IP lawyer.

I just noticed that this repository does not have a license. As such, each contribution is licensed as "all rights reserved" to its author. This is a somewhat awkward position.

For inclusion in MELPA, the preeminent Emacs lisp package archive, this project would need to be licensed under something GPLv3 compatible, of which there are several options. Apache V2, the license used by Gleam, Erlang/OTP, etc is a viable option, though most Emacs packages are licensed GPLv2 or GPLv3 by convention. I'm not exactly sure what the implications of licensing this project as, say, Apache V2 and also pulling in GPL'd dependencies either (which it admittedly does not do yet).

In any event, in the course of research into this, I've found the suggestion that in order to create a new, licensed release containing the existing contributions, we (the authors and contributors) would need to provide written permission for the license change:

There are two main ways that open source projects handle this scenario:

Some projects include a “contributor licensing agreement” (CLA) ... Others simply consider every contributor to be a copyright owner. This is the default method that applies to most projects without an explicit CLA like Google’s.

The only downside of this method is if the primary or original author decides to change the license in the future. In this case, they must collect written permission from every single contributor.

Source

Once a license is agreed upon, we (the contributors) could choose to delegate copyright to a single individual (e.g. Copyright © 2021 Louis Pilfold), or distribute the copyright among the contributors (e.g. Copyright © 2021 gleam-mode's authors and contributors). Either is fine, but should we want to "change" the license for future releases, the former copyright would allow Louis to choose any license whereas the latter would require that the new license be compatible with the old or we'd have to do the collecting permission rigamarole all over again.

If anyone is or knows an IP lawyer, it might be worth chiming in 😁 Sorry to be the bearer of headache-laden news!

Rename `master` to `main`?

Hey there! I'm getting very close to being satisfied with my rewrite! 🎉

I noticed that the main branch over here is named "master". The convention for Gleam repositories seems to be to use the name "main" for the main branch. Should we rename the branch to follow that convention?

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.