An open API service indexing awesome lists of open source software.

https://github.com/chadnaut/attract-mode-plus-squirrel

VSCode extension for Attract-Mode Plus Squirrel
https://github.com/chadnaut/attract-mode-plus-squirrel

attract-mode squirrel visual-studio-code

Last synced: about 1 month ago
JSON representation

VSCode extension for Attract-Mode Plus Squirrel

Awesome Lists containing this project

README

          

# Attract-Mode Plus Squirrel

VSCode
Squirrel
AM
AM+

A suite of support tools to enhance your AM+ development experience, built upon a custom Typescript conversion of the original Squirrel Lexer.

![Attract-Mode Plus Squirrel](https://github.com/Chadnaut/Attract-Mode-Plus-Squirrel/blob/master/assets/images/readme.png?raw=true)

## Quickstart

- VSCode > Settings > Extensions > AM+ Squirrel
- Attract-Mode: Path > `Enter your AM+ path`
- Attract-Mode: Executable > `Enter your AM+ console executable`
- Attract-Mode: Integration > Live reload AM+ > `Yes`
- VSCode > Status-bar
- Launch > `▷ Attract-Mode Plus`
- AM+ Application > Configure `Tab` > Plug-ins
- Live Reload > Enabled > `Yes`
- Close all menus `Esc`
- VSCode > Open `.nut` file
- Save > ***AM+ reloads your layout!***

## Features

All standard language features are implemented to make coding in Squirrel simple and intuitive.

- IntelliSense - Auto-completion, code-navigation, inlay-hints, hover-info.
- Syntax highlighting - Classes, functions, attributes, namespaces.
- Linting - Inline error highlighting and Problems panel listings.
- Code formatting - Prettier based formatting with bracket and spacing options.
- DocBlocks - Integrated documentation displayed in IntelliSense popups.
- Workspace - Load settings from a `.attractrc.json` file in your workspace path.

## Completions

Completions for Squirrel and AM+ functions, with datatype information, parameter descriptions, and overloads.

- Squirrel Language - All built-in functions and datatype methods.
- Squirrel Standard Library - All library classes and properties.
- Attract-Mode Plus - All API functions and constants.

## Enhancements

In addition to providing IntelliSense documentation, DocBlocks can populate completions, describe parameter types, create snippets, and more. See
[DocBlock](https://github.com/Chadnaut/Attract-Mode-Plus-Squirrel/blob/master/DOCBLOCK.md) for detailed usage.

- Autogenerated Docs - DocBlock templates for parameter and return types.
- Requirements - DocBlocks at the start of a file generate import summaries.
- Access control - Public, Protected and Private flags to limit completion visibility.
- Metamethods - Document getter and setter properties to display them as completions.
- Data types - Describe or override parameter and return value types.
- Expected values - Completion suggestions for function parameters.
- Snippets - Create custom code snippets.

## Integration

A selection of helpers are included to assist Attract-Mode development workflows.

- Live Reload - Automatically reload AM+ on document save.
- Launcher - Start AM+ from the status-bar.
- Logging - Show console logs in the Output tab.
- Module explorer - Custom sidebar displaying all local module versions.
- Magic tokens - Completions and highlighting for inline *magic tokens*.
- Imports - Completions for asset filenames.
- Previews - Hover over image or video links to see a preview.
- Drop edits - Drag then `Shift + Drop` files into the document to create import statements.
- Support files - Syntax highlighting for `.nut`, `.cfg`, `.log`, `.msg`, `.am` files.

## Credits

Kudos to the Attract-Mode developers, contributors, and community.

- [Attract-Mode Plus](https://github.com/oomek/attractplus) - by Radek Dutkiewicz
- [Attract-Mode](https://github.com/mickelson/attract) - by Andrew Mickelson
- [Squirrel](http://www.squirrel-lang.org/doc/squirrel3.html) - by Alberto Demichelis
- [Prettier](https://github.com/prettier/prettier) - by James Long and contributors
- [Attract-Mode Discord](https://discord.com/channels/373969602784526336) - Join the community!