Skip to content
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 our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add lsp and code formatting support #1

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

kayvank
Copy link

@kayvank kayvank commented May 10, 2024

Included two new capabilities:

  • lsp-aiken for aiken language support
  • aiken code formatting.
    Both capabilities require aiken to be in the $PATH

To verify

Follow the instructions in the README.md Installation section. Open an aiken file. You should be greeted with the lsp::aiken-lsp message in the minibuffer.
Next, you may proceed to test the code formatting of the entire file or a selected region

Included two new capability:
  - lsp-aiken for aiken language support
  - aiken code formatting.
Both capabilities require `aiken` to be in the $PATH
@rvcas rvcas requested a review from ch1bo May 10, 2024 12:08
@kayvank
Copy link
Author

kayvank commented May 10, 2024

@ch1bo , I am transitioning this PR to Draft due to the CI build failure.
The fix for the failure is to add the lsp-mod package dependency to the build Recipe

@kayvank kayvank marked this pull request as draft May 10, 2024 14:07
@kayvank
Copy link
Author

kayvank commented May 10, 2024

@ch1bo , I am transitioning this PR to Draft due to the CI build failure. The fix for the failure is to add the lsp-mod package dependency to the build Recipe

@ch1bo I looked into the current build process, and it didn't see a clean way of installing the required dependencies, namely lsp-mode and reformatter emacs packages.
However, I do have a solution and would like to solicit your input, please.
What are your thoughts on using emacs esk packaging? I think eask has the following advantages:

  • clear concise build process that allows for linting, documentation, and pining the package dependencies
  • eask is well documented
  • a number of lsp clients, including lsp-haskell use eask
  • When publishing the library to Melpa, it will allow us to separate the aiken-mode to :
    + aiken-mode
    + aiken-lsp
    + aiken-fmt

FYI, I already of this working locally and be happy to do a draft PR of the work over the weekend.

@ch1bo
Copy link
Member

ch1bo commented May 13, 2024

@ch1bo , I am transitioning this PR to Draft due to the CI build failure. The fix for the failure is to add the lsp-mod package dependency to the build Recipe

@ch1bo I looked into the current build process, and it didn't see a clean way of installing the required dependencies, namely lsp-mode and reformatter emacs packages. However, I do have a solution and would like to solicit your input, please. What are your thoughts on using emacs esk packaging? I think eask has the following advantages:

* clear concise build process that allows for `linting`, documentation, and pining the package dependencies

* eask is well documented

* a number of lsp clients, including  [lsp-haskell use eask](https://github.com/emacs-lsp/lsp-haskell/blob/2808b065d1d5384bd9fec48739cd7d38cd0dd2dc/Makefile)

* When publishing the library to  Melpa, it will allow us to separate the aiken-mode to :
  + aiken-mode
  + aiken-lsp
  + aiken-fmt

FYI, I already of this working locally and be happy to do a draft PR of the work over the weekend.

@kayvank I'm not very familiar with how to distribute emacs packages best, especially in presence of dependencies. I would look at how other modes treat optional parts like lsp integration and formatting.

Consequently, I don't have an opinion on esk either.

As a user, I would be wanting to integrate all this into my doom emacs setup and IIRC this is using straight to manage dependencies.

On a side note, doom emacs for example is not using reformatter for its formatting and I'm not even sure if I would be able to use that part of your drafted aiken-mode modifications.

Looking forward to give this a try once you mark this for review again :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants