Skip to main content

CMake backend for JEP-enabled editors.

Project description

Build Status Coveralls Status PyPI Status

JEP-based CMake support in the making.

This is a command line application implementing a JEP backend for CMake. It enables editors that have JEP-plugin installed to improve their CMake editing support beyong pure syntax highlighting.

Current state and features

  • Parser for CMake files.

  • Builds dictionary of user functions and macros.

  • Code completion of commands (built-in and user functions and macros), from local and (directly or indirectly) imported modules.

Upcoming features and feature ideas

  • Code completion for all files in a project, including parent CMake files.

  • Code completion for variables (respecting scope rules).

  • Code completion for targets.

  • Go to definition of commands, variables, targets.

  • Error annotations.

  • Renaming of user commands, variables, targets.

Installation

jep-cmake can be installed in various ways. To run it requires an installed Python interpreter, version 3.3 or greater.

After installation, the used Python environment has a new command jep-cmake, that will run the backend.

From Source Code

> git clone https://github.com/jep-project/jep-cmake.git
> cd jep-cmake
> pip install .

From PyPI

> pip install jep-cmake

Usage

See the JEP protocol for detailed instruction how to configure JEP via a .jep file. In the most simple situation (jep-cmake in path, …) the following .jep file in the root folder of your project that contains CMake files should be enough:

*.cmake,CMakeLists.txt:
jep-cmake

See jep-cmake -h for available command line options:

> jep-cmake -h
usage: jep-cmake-script.py [-h] [--version {2.8.12,3.4}] [--builtin-cmake]
                           [--builtin-ctest] [--builtin-deprecated]

JEP backend providing CMake editing support.

optional arguments:
  -h, --help            show this help message and exit
  --version {2.8.12,3.4}
                        CMake version to be supported, mainly used for
                        completion of built-in commands.
  --builtin-cmake       If specified, built-in CMake commands are part of code
                        completion.
  --builtin-ctest       If specified, built-in ctest commands are part of code
                        completion.
  --builtin-deprecated  If specified, built-in CMake commands that have been
                        deprecated are part of code completion.

The various built-in options are available to finetune the backend’s interaction with the editor being used. Some editors already support code completion for built-in CMake commands. In that case it is more efficient remove them from the backends completion options (by not specifying the corresponding command line option).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jep-cmake-0.0.3.zip (21.8 kB view details)

Uploaded Source

Built Distribution

jep_cmake-0.0.3-py3-none-any.whl (17.4 kB view details)

Uploaded Python 3

File details

Details for the file jep-cmake-0.0.3.zip.

File metadata

  • Download URL: jep-cmake-0.0.3.zip
  • Upload date:
  • Size: 21.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for jep-cmake-0.0.3.zip
Algorithm Hash digest
SHA256 c9e3c17753fde6b942949f4e035e8e5ff22b6b620bb20067a5e9117082de99a1
MD5 e9668e75a57fa0c502f75f6447bfe899
BLAKE2b-256 b10dde66dcd5182308416bbc8e88b95131c1acc6a190b76322db150686b64ab8

See more details on using hashes here.

File details

Details for the file jep_cmake-0.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for jep_cmake-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c48260fb68a10bc8e66e5d2d061f47f37d820e92f940ba1c82634ace9d44f0fa
MD5 db3c599efbf559baaa0dd9d4db60f6ad
BLAKE2b-256 5174f57fe5d495f850b44a181f18697f17596b8efb04c40d0d928ba43642fc5f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page