Adding new KPP commands

To add a new KPP command, the source code has to be edited at several locations. A short summary is presented here, using NEWCMD as an example:

  1. Add the new command to several files in the src/ directory:

    • scan.h: add void CmdNEWCMD( char *cmd );

    • scan.l: add { "NEWCMD", PRM_STATE, NEWCMD },

    • scanner.c: add void CmdNEWCMD( char *cmd )

    • scan.y:

      • Add %token NEWCMD

      • Add | NEWCMD PARAMETER

      • Add { CmdNEWCMD( $2 ); }

  2. Add Continuous integration tests:

    • Create a new directory ci-tests/ros_newcmd/ros_newcmd.kpp

    • Add new Continuous integration tests to the ci-tests directory and update the scripts in the .ci-pipelines directory.

  3. Add documentation to user manual docs/source/*/*.rst:

  4. Add command to site-lisp/kpp.el (Emacs configuration file)