Chic documentation
Houlder Technologies

External API
Mailing list

Chic is implemented with a client-server model. Commands can be sent to Chic via sockets from other programs. This can be used by editors and IDEs to tell Chic to perform such operations as updating files or generating compile files.

To illustrate the flow let's say we use our favorite editor to edit a file called MyFile.hic in the directory /src. When we have modified the file and we want to compile, we save the file and hit a key that's bound to a user-defined macro. The macro starts a client with the command:

  chicclient generateFile("/src/Myfile.hic");
Since this is a rapidly executed command, the editor may go into waiting mode. The client sends the command string to Chic, which generates the compile files. Finally Chic signals the client that the command has finished and the client returns to the editor macro that called it. You may then compile as normal. In case of failure Chic will tell the client in addition to pop up an error message.

With some Makefile fiddling it is also possible to include Chic as a part of the normal compilation schedule. However, that requires that Chic runs whenever you want to recompile.

Supported editors

Currently, only clients for XEmacs, GNU Emacs and Vim are provided. We'll expand that selection in the future.

List of external API functions