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

Notes to Self #1

Open
21 tasks
theY4Kman opened this issue Jan 15, 2021 · 5 comments
Open
21 tasks

Notes to Self #1

theY4Kman opened this issue Jan 15, 2021 · 5 comments

Comments

@theY4Kman
Copy link
Owner

theY4Kman commented Jan 15, 2021

I've been thinking about picking this up again. Since I created this project initially, I've worked more with the IntelliJ language APIs, releasing a pytest plugin for PyCharm. I've also really come to love Kotlin, and might end up using it in lieu of Java – though, while it's easy to write, it can be equally as easily made unreadable.

If I pick it up again, I thought it seemed wise to collect a list of requirements, goals, and super-duper stretch goals. So, here they are, in three sections, whose child items are in no particular order.

If you happen to come across this project and this issue, and have a request, I encourage you to leave a comment :) Always helps development to know people want it.

Requirements

  • Syntax-highlighting!
  • Highlighting of syntax errors
    • Error messages for syntax errors
    • Descriptive and helpful error messages
  • Support for references
    • Go To Declaration
    • Find Usages
    • Autocompletion!
      • Sort suggestions by type/tag compatibility
  • Ability to easily view typing/tag info for a variable
  • Support for Run configurations to compile plugin
  • Configure locations of include files
  • Configure location of SourceMod SDK (including, esp, path to compiler)

Goals

  • Ability to choose and download versions of SourceMod SDK (including management of includes location configuration)
  • Run configurations for starting servers
  • Run configurations for starting listen servers (along with game)
  • Support for macros
  • Add Action to flip if/else statement (see Python's)

Super-duper Stretch Goals

  • Interactive debugging (sheeeit)
@Hexer10
Copy link
Contributor

Hexer10 commented Jan 16, 2021

I'm happy that you'd like to continue this project, I've tried several times to implement SourcePawn for Intellij, but I got always stuck on the API that imo is not really self-explanatory (nor documented enough).

I'm wondering if you plan to replace the current Java code with Kotin and also why the META-INF folder was excluded for the project.

@theY4Kman
Copy link
Owner Author

Yeah, it can be a bit obtuse... pretty often.

There are no definite plans, at least until I get back from vacation Monday/Tuesday. It seems likely I'd use Kotlin for at least some new files, and a not-unsubstantial chance I'd convert any remaining Java files if I'm using Kotlin already. Do you have opinions on it?

As for why the META-INF folder was excluded, I'm afraid I can't truly say, 'cause I don't recall :P If it's an unintended omission, I'll add it back.

@Hexer10
Copy link
Contributor

Hexer10 commented Jan 16, 2021

Yeah, it can be a bit obtuse... pretty often.

There are no definite plans, at least until I get back from vacation Monday/Tuesday. It seems likely I'd use Kotlin for at least some new files, and a not-unsubstantial chance I'd convert any remaining Java files if I'm using Kotlin already. Do you have opinions on it?

As for why the META-INF folder was excluded, I'm afraid I can't truly say, 'cause I don't recall :P If it's an unintended omission, I'll add it back.

In my opinion it would be feasible to convert to project to Kotlin right now since the code base is not very large yet.

I was asking for the META-INF since it contains the plugin.xml which is needed to compile the plugin, and regarding the plugin build system shouldn't it now use the gradle plugin system?

EDIT: I made a PR about implementing these changes: #2

@theY4Kman
Copy link
Owner Author

@Hexer10 I created a Project board to organize the tickets a wee bit, and started listing notes and expanding the tickets.

It might be nice to have a little back and forth occasionally. Do you have some kind of chatroom shit you use? Is #sourcemod still up on Freenode IRC?

@Hexer10
Copy link
Contributor

Hexer10 commented Jan 23, 2021

@Hexer10 I created a Project board to organize the tickets a wee bit, and started listing notes and expanding the tickets.

It might be nice to have a little back and forth occasionally. Do you have some kind of chatroom shit you use? Is #sourcemod still up on Freenode IRC?

I'm not sure, I've never used IRC, nowadays they've pretty much moved over to the Discord server. (If you want to contact me directly just add me either on Discord ( Hexah#6903 ) or Telegram ( Hexah )

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

No branches or pull requests

2 participants