New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.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

$ pip3 install make-c

Running

Help output:

$ make_c --help
usage: make_c [-h] [-l] [--version] [--editor EDITOR] [--skip-editor] [-T]
              [-M]
              [filename]

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

positional arguments:
  filename              Name of the source file to create.

options:
  -h, --help            show this help message and exit
  -l, --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.
  -T, --tabs            Use tabs instead of spaces.
  -M, --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