Write major modes bindings #98
Comments
Took this out the v0.8.0 because this might take a bit more brewing. |
I was thinking about tackling the Markdown major mode, however I have to ask - can I assume that Markdown All in One would be a "dependency"? It's by far the most popular Markdown extension, but I'm not sure if you want to limit the amount of extensions that VSpaceCode relies on.
|
Thank you for taking an interest in implementing major modes :) Since not everyone is going to need/want to install the extension required by a specific default major mode, our thought is to not bundle the extension (required by major modes) and require manual installation for now. Follow #84 (comment) for the context. Since the engineering for a major mode bundle system is not here yet (refer to #84 (comment)), we plan to do something simple here. We will ship a default major bindings that require user to manually install the missing extension if needed. In short, I am open to have a default markdown bindings that require manually installation of an extension. @MarcoIeni What do you think? EDIT: I am also open to bundle that markdown extension for now since it seems to more common than specific programming languages? |
Macintacos, you can assume that the extension is there. At the moment we need to document that it requires manual installation.
For this issue it doesn't matter, right? We might decide this once the markdown mode is "complete" |
I was thinking markdown is probably a little bit special, so we can bundle the extension needed directly to this extension. But thinking it more, it's good to not bundle any extensions required by major mode for now to be consistent (until we have the system mentioned perviously) |
@MarcoIeni @stevenguh awesome, I'll get started on a proper PR soon, I'll link it to this issue when I open it. |
Released v0.8.2 that contains the new markdown mode. Thank you @macintacos for contributing :) |
Hello, was very pleased to stumble across this project. I'd love to help out and take a stab at a major mode binding. It's not on the list, but one that I was wishing for today is The Spacemacs bindings for the relevant Emacs package are pretty sparse, and some of them aren't relevant. The REST Client extension in VSCode pulls focus away from the editor on sending a request and the HTTP response appears to be in a readonly webview by default, which prevents invoking followup commands with keystrokes (as far as I'm currently aware). Regardless, there are a number of commands that would be useful to be exposed via |
Thank you for taking an interest in contributing. Although, this is not in the list, I am open to it. As far as to activate the menu from the readonly WebViews, we will have to target it as a shortcut with keybindings.json and its corresponding context like VSpaceCode/src/configuration/keybindings.jsonc Lines 3 to 7 in 3cbec15 You can use inspect context command with and developer prompt to see what can be used to target. |
It's fine for me to support this extension, even if I haven't used it in spacemacs. Spacemacs has Of course the approach is the same as major modes, i.e. we don't bundle this extension, user have to install it manually.
If users are used to the spacemacs key bindings for this functionality and if they make sense for vs code we can copy them here, otherwise we can ignore them. Anyway, can you create another issue, so we move the conversation there? |
I think that extension uses
I will be a little bit hesitant to bundle commands that required other extensions outside of major mode for now.
+1 |
Hey, I wanted to know if I could contribute to the extension by working on the Python major mode. |
Hi Muscaw, sure! I will reserve it to you in the first comment :) |
@MarcoIeni I am interested in adding Major mode key bindings for the Clojure programming language, using the popular Calva plugin for VS Code. It seems to test changes I edit the I just copied some of the go configuration and changed it to use |
Feel free to open an issue to track it if you want to work on it :)
That's a very interesting way to test it. You are modifying the built-in default from in extension directly I think. You can follow the CONTRIBUTING to run a test instance with the updated default config. |
Thanks jr0cket! I just updated the first comment/ |
I'd be happy to try my hand at the C++ major mode. |
Awesome! Please open an issue to track that work :) |
Any interest in a Latex mode? |
Go for it :) |
Working on a javascript and typescript implementation. For now they are essentially identical PRs. |
Any interest in an R major mode? |
Awesome!! Thanks for working on them. I will take a look :)
Let's try it :) Seems like a very popular data science language. |
I'm interested in helping add an OCaml major mode. Since the VS Code OCaml Platform plugin is not very feature-rich at the moment, I would like to develop it locally for a while, until I can get some changes into that plugin. Is there some way to experiment with a major mode locally without putting it into
|
@basus Does |
Looks like @The-Compiler's suggestion worked. Thanks! Now the issue is, I want the same keybindings to work for both |
You'll need to duplicate them for now, see VSpaceCode/vscode-which-key#42 |
Is your feature request related to a problem? Please describe.
As I said here:
Describe the solution you'd like
In vscode-which-key/#14 we have enabled the possibility to have major mode key bindings. Now it's time to write them!
These are some of the most important programming languages where a major mode is missing:
markup languages:
If you want to start working on a major mode that is (or isn't) listed here, please leave a comment.
In this way we don't overlap with each other.
Additional context
The text was updated successfully, but these errors were encountered: