scaffolding

A scaffolding package for quickly generating new project files and directories

Drew-S

187

0

1.1.0

MIT

GitHub

Scaffolding

Scaffolding is a package used to create a project folder and file hierarchy with the click of a button.

Scaffolding

Added a separate file hierarchy system for splitting the main file up into smaller files for better management.

I still need to actually develop some unit testing

Structure

Edit the scaffolding.cson file to include your folder file hierarchy:

You can edit this by using the command:

"ctrl-alt-o": "scaffolding:edit"

or by clicking the edit button in the scaffolding panel.

When you click on your scaffolding name in the list the hierarchy is built in the current project root directory.

[
  {
    name: "Scaffolding"
    root: [
      {
        type: "dir"
        name: "folder"
        root: [
          {
            type: "file"
            name: "file.txt"
          }
        ]
      }
      {
        type: "dir"
        name: "empty"
      }
      {
        type: "file"
        name: "file_with_stuff.txt"
        contents: "stuff"
      }
      {
        type: "file"
        name: "file_with_multi-line_stuff.txt"
        contents: '''
          stuff
          more stuff
        '''
      }
    ]
  }
  {
    name: "item 2"
    rootUrl: './file.txt'
    ...
  }
]

Separate file structure

You can setup an external root file using the rootUrl option instead of using root, this is a relative path to the file from the default scaffolding.cson file. This is designed to store the other files in the same directory as the main scaffolding file.

You can optionally link a plain text hierarchy file .txt, .cson, or .json file

CSON

{
    name: "name"
    root: [
        {
            name: "name"
            type: "file|dir"
            root: [

            ]
        }
    ]
}

JSON

{
    "name": "name",
    "root": [
        {
            "name": "name",
            "type": "file|dir",
            "root": [

            ]
        }
    ]
}

Plain text

#Name
folder/
    file.txt
        content
        content
            indented content
    folder2/

The first line is optionally the name of the hierarchy denoted by starting the line with #.

Folders require a / at the end of the line to denote a folder.

The structure is indent sensitive. The file needs to be indented by 4 spaces , or a tab \t. Indenting inside a file, such as the example file.txt is ignored past the first indent and will show up in the contents of the file:

file.txt:

content
content
    indented content

keymapping

This package uses the default keymapping from package generation:

Toggle scaffolding panel:

"ctrl-alt-o": "scaffolding:toggle"