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.

Once completed, 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.1.zip (19.1 kB view hashes)

Uploaded Source

Built Distribution

jep_cmake-0.0.1-py3-none-any.whl (14.5 kB view hashes)

Uploaded Python 3

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