-
Notifications
You must be signed in to change notification settings - Fork 0
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
Thoughts on the Codepad #1
Comments
Thanks for your suggesions! To avoid complexity of intial work, I only focus on C++ and write straightforward code to support C++ languages at earlier stage. However, the extension of multi-language support will always be considered during the development. IMO, we should design a complete dynamic analyzer, it's a foundation of highlighting(keywords and user-defined identifiers), auto-complete and syntax error. |
I guess what I try to "plea" is, that decoupling this from the visual part (rendering) and plugging them together via interfaces (or techniques that do the same thing) would benefit future contributions, if the IDE lands on github at some point in the future. |
Oh and please dont try to parse and analyze C++ yourself. A lot of IDEs are failed garbage because they captitulate early, rendering the code completion part etc worthless or even potentially obstructive, since some IDEs lock up, because parsing and analysis takes forever, forcing you to disable them. [I started my own IDE with nana a year+ ago for fun and to learn nana. I hence made some research into certain things and thought about overall project structure and design. Only reason its not "done" is the editor component, which is a prerequisite to tie the debugger and code help to it. I would have to write my own, which turns me off of the project, because to me this is where success or failure is decided over usability and maintainability. (And how the IDE handles builds, but thats a different topic)] |
Sorry, I will just copy/paste myself: |
It sounds good, but it is a bit complicated. IMO, it will confuse user with project build options when switching a different compiler.
I simply thought about the machine learning, but I didn't get a picture how to use ML in this area.
Good point. |
that is why cmake is good as project. See Clion and VS, both using cmake. |
When we're on this topic now anyway: The way i did it is: I use cmake for projects, and profiles for the environment variables. This way my IDE does not get confused by poluted PATH and does not require installations to be made in certain ways. EDIT: I obviously use a library for processes (tiny-process-library) and not syscalls directly for portability. The execve remark was just there to explain what i mean when i say "pass cmake an environment". |
[moved] |
I didn't formulate a pull request for the specs, because I would love to hear other peoples opinions on this.
I suggest to pass the code parsing to an interface (maybe the same as the highlighting) too to provide tokens (maybe more) which can then be used for editor features like highlighting.
To suggest more concrete ideas, I would need to try and implement everything myself to see where issues and complications with these ideas arrise.
Less necessary features:
The text was updated successfully, but these errors were encountered: