Metadata-Version: 2.1
Name: make-c
Version: 0.1.4
Summary: A utility to create a simple C source file with a main and open it in an editor.
Home-page: https://github.com/zcutlip/make_c_program
Author: Zachary Cutlip
Author-email: uid000@gmail.com
License: MIT
Description: # make_c
        
        A script to generate a simple C program with a few basic includes and a `main()`. Then it opens the file in your editor of choice placing the cursor at the proper line and column to start adding code.
        
        Supported editors include:
        
        - vim
        - SublimeText (`subl`)
        - TextMate (`mate`)
        - Visual Studio Code (`code`)
        - nano
        - emacs
        
        ## Installing
        
        ```console
        $ cd make_c
        $ python3 setup.py install
        ```
        
        ## Running
        
        Help output:
        
        ```console
        $ make_c --help
        usage: make_c [-h] [--list-editors] [--version] [--editor EDITOR]
                      [--skip-editor] [--tabs] [--generate-makefile]
                      [filename]
        
        make_c: A utility to create a simple C source file with a main and open it in
        an editor. version 0.1.4
        
        positional arguments:
          filename             Name of the source file to create.
        
        optional arguments:
          -h, --help           show this help message and exit
          --list-editors       List known editors.
          --version            Print version string and exit.
          --editor EDITOR      Editor to use to open the resulting source file.
          --skip-editor        Create the source file but don't open it in an editor.
          --tabs               Use tabs instead of spaces.
          --generate-makefile  Create a makefile to build the program.
        ```
        
        List available editors:
        
        ```console
        $ make_c --list-editors
        Known editors:
        
        vim: Vi IMproved, a programmer's text editor
        subl: Sublime Text 3
        mate: TextMate 2
        code: Visual Studio Code
        emacs: GNU project Emacs editor
        nano: Nano's ANOther editor, an enhanced free Pico clone
        ```
        
        Creating and editing a file:
        
        ```console
        # Create foo.c and edit in the default editor, VIM:
        $ make_c foo.c
        
        # Edit using $EDITOR environment variable to specify editor:
        $ export EDITOR=/usr/local/bin/emacs
        $ make_c foo.c
        
        #Edit in SublimeText instead:
        
        $ make_c foo.c --editor=subl
        
        #Generate a makefile in addition to the C file.
        
        $ make_c foo.c --generate-makefile
        ```
        
        ## Adding editor support
        
        To add additional editors, extend the `CProgram` class and override:
        
        - The `EDITOR` class variable
        - The `DESCRIPTION` class variable
        - The `generate_editor_command()` instance method
        
        The string representation for `--list-editors` is automatically generated by the superclass from `EDITOR` and `DESCRIPTION`.
        
        The `generate_editor_command()` method should return an `argv` that represents that editor's commandline incantation in list form suitable for consumption by `subprocess.Popen()`. For example, if your editor takes a `--line` and `--column` argument, you would return:
        
        ```python
        def generate_editor_command(self):
            return [self.generate_editor_arg0(),
                    "--line",
                    "%d" % self.edit_line,
                    "--column",
                    "%d" % self.edit_column,
                    self.filename]
        ```
        
Platform: UNKNOWN
Requires-Python: >=3.3
Description-Content-Type: text/markdown
