Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

make-c

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

make-c

A utility to create a simple C source file with a main and open it in an editor.

  • 0.1.5
  • PyPI
  • Socket score

Maintainers
1

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

$ cd make_c
$ python3 setup.py install

Running

Help output:

$ 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.5

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:

$ 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

If an editor isn't provided on the command line, it can be specified using an environment. The variables that are used are, in the following order:

  1. MAKE_C_EDITOR
  2. EDITOR
  3. VISUAL

Creating and editing a file:

# Create foo.c and edit in the default editor, VIM:
$ make_c foo.c

# Edit using $MAKE_C_EDITOR environment variable to specify editor:
$ export MAKE_C_EDITOR=/usr/local/bin/emacs
$ make_c foo.c

# If MAKE_C_EDITOR isn't set, EDITOR and VISUAL respected, in that order:
$ unset MAKE_C_EDITOR
$ export EDITOR=/usr/bin/vim

#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:

def generate_editor_command(self):
    return [self.generate_editor_arg0(),
            "--line",
            "%d" % self.edit_line,
            "--column",
            "%d" % self.edit_column,
            self.filename]

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc