mike-lischke / antlr4-c3

A grammar agnostic code completion engine for ANTLR4 based parsers
MIT License
396 stars 62 forks source link

Distribute C++ port as a library #138

Open vityaman opened 1 month ago

vityaman commented 1 month ago

Proposed feature

Distribute C++ port of the library. The library can be included into other CMake project via ExternalProject or FetchContent. Sources can be received by cloning the repository (we actually want to clone only ports/cpp directory) or by downloading the distribution archive (then we need to set up a pipeline for it). So the task is not ready yet and needs to be studied.

Also, we wish to have

distribution channel which would allow to see interest by watching download numbers

Requirements

We already prepared some basement during https://github.com/mike-lischke/antlr4-c3/issues/132, adding CMake build and GitHub Workflow checks. I think, before this, we need to fix found bugs and finish refactorings.

Motivation

Currently, the C++ port of the library can only be used by other projects by manually copying the source files. This is not very convenient and not modern. While it is possible to automate the copying process with a script, each user will likely create their own unique solution, which makes the build process more difficult to understand and maintain.

It would be beneficial to have a more efficient way to include the library as a dependency, so that users can easily integrate it into their projects without having to manually copy files.

mike-lischke commented 1 month ago

I'm not aware of a way to export a lib like this (or actually only a part of that), similar to what we have with NPM.