Giter VIP home page Giter VIP logo

vscode-st's Introduction

License: MIT workflow Version Installs Ratings

Structured Text (IEC 61131-3)

Most complete Structured Text language support. Features includes:

  • Syntax highlights in *.st, *.iecst files
  • Syntax highlights in *.md (Markdown) files in iecst code block
  • Syntax highlights in *.xml files in <Declaration> and <ST> code block
  • Snippets (enter st to see list of all snippets)
  • Outline view
  • Breadcrumbs code navigation
  • Go to Symbol in File
  • Formatting (*beta)
  • Commands

Syntax Highlights

Includes syntax highlight based on IEC 61131-3 draft, including namespaces, SFC elements (STEP, ACTION, TRANSITION), constant variables (2#000_1010, 16#1E, INT#23) and more.

Structured Text syntax highlights example

Also highlight in Markdown files

Example

Snippets

Fast growing snippets library. All cycles, conditions and declarations.

Formatter (work in progress)

Utilize VS Code Formatter API. Use general formatting command short keys. It capitalize all known keywords like TRUE, FALSE, IF, BOOL, ... It also add spaces.

Note

Roadmap

  • LSP (Language Server Protocol)
  • Suggestions
  • Lints

Release Notes

1.12.12

  • fix - Extra spaces was added after tab or in front of the comment.
  • enhance - highlight Siemens SCL
  • add - (END_?)CONST, (END_?)ORGANIZATION_BLOCK, (END_?)DATA_BLOCK, (END_?)LABEL, BEGIN, COUNTER, VOID, NIL and GOTO keywords
  • add - support for PQ and PI in constants like %PQW10.0.

1.11.14

  • fix - highlight of names with _TO_ in it
  • fix - comment in comment highlight
  • fix - capitalization of s,h,m in T#***

1.11.2

  • fix - highlight for typed variables with - (INT#-100)
  • fix - highlight for typed variables with numeric constants (INT#16#10AE)

1.11.1

  • enhance - performance improve by using bundler
  • enhance - Format add spaces refactored performance and logic improvement.

1.10

  • fix - Format <> and ** correctly.
  • fix - Document format in strings fixed. Now formatting is not done in strings and comments.
  • improve - Formatting add spaces new conditions.
  • improve - Formatting. Add spaces in comments and other places like before := or after.
  • add - file extension *.TcDUT, *.TcPOU.
  • add- syntax highlights for comment attributes like (* @NESTEDCOMMENTS := 'Yes' *) generated by CoDeSys 2.3 in .EXP files.
  • add - Pragma attribute and message highlights like {attribute 'call_after_global_init_slot' := 'slot'} or {info 'TODO: should get another name'} supported in CoDeSys.
  • fix - lot of minor syntax highlight mistakes.
  • improve - syntax highlight was fully revised and improved a lot.

1.9

  • enhance - Outline now understand CONSTANT variables. Thanks to @msftrncs.
  • fix - VAR word break keyword parse issue. Thanks to @msftrncs.
  • fix - Some issues outline tree parse. Thanks to @msftrncs.
  • add - Formatting capitalization for all VAR_* keywords and __NEW and __DELETE
  • fix - one closed comment formatting as function #29
  • enhance - better snippets titles
  • enhance - better symbol navigation in outline and breadcrumbs. Thanks to @msftrncs.
  • add - Formatting capitalize time keys like t#10s to T#10S, ANY_* types

1.8

  • enhance - better snippets titles
  • add - support for UNION syntax
  • add - Highlight ST inside some XML files key.
  • change - enter st to see list of all snippets.
  • add - Highlight ST in Markdown files when use iecst key.
  • add - new icon :))
  • add - new formatting architecture that utilize VS Code formatting API.

1.7

  • add - syntax highlights keyword __TRY, __CATCH, __FINALY, __NEW, __DELETE, S=, R=
  • add - snippets fo __TRY, __CATCH, __FINALY, __NEW, __DELETE

Thanks to @nikvoronin

  • fix - syntax highlights keyword inside another word
  • fix - build document structure with block indented
  • add - outline for Structures and Enumerations
  • enhance - outline for other elements
  • enhance - right click commands now appear only in ST files

1.6

  • add - outline document structure
  • add - Go to symbol in file support
  • add - breadcrumbs

1.5.0

  • improve - function highlights. Now we Highlight all function either user defined or built in.
  • improve - variable declaration or STRUCT declaration section has got a lot of improvements. We highlight custom types now, and whole section looks much cleaner because scopes were changed.
  • improve - If you call for a method of a function block through dot my_fb.method() method is highlighted. We also highlight function block properties or parameters.
  • add - TODO or TODO: in comments attract an attention
  • add - Highlights for action modifiers myAction(DS, T#3s); where DS will be highlighted.
  • add - Highlights for names of parameters of function block.

1.4.0

I've learned few things about syntax highlights. Big refactoring. I added some missing keywords, changed some coloring scopes and improved coloring in general.

1.3.0

  • add - TYPE creation snippets (enumerations ans structure) and enhance it's syntax highlights
  • enhance - Select type out of suggestion list when inset variable in declaration area from snippet
  • enhance - Utilise October 2018 feature for multiple prefixes in snippets and add multiple prefixes to some snippets.
  • fix - syntax highlights for function_block
  • fix - Auto close comments /*. (*.
  • enhance - revision of highlights much better now.

1.2.0

  • fix - Insert END_VAR after VAR is inserted.
  • fix - highlights for WORD datatype.
  • fix - other minor changes
  • fix - Notification "This file not a structured text language!" #6
  • add - Command pallet Ctrl+Shift+P command ST: Format
  • add - same command context menu
  • add - user parameter st.autoFormat

All 3 make the same. Capitalize constants like TRUE, FALSE, EXIT and others. Right now only few. This is only proof of concept. Later we will add more beautifications.

1.1.0

  • add - a lot of different snippets
  • enhance - syntax highlight like function names, program and function definitions, etc..

1.0.0

  • fix - extensions metadata tags
  • add - new functions to support logi.CAD 3 reference variables.
  • enhance - auto indentations inside IF, PROGRAM, VAR, ...
  • fix - close [ bracket
  • add - region folding
  • improve - keywords case
  • improve - readme file
  • improve - syntax highlights scopes
  • add- few new snippets.
  • fix - some keywords highlight issue
  • add- new file extensions to support logi.CAD 3 projects.

vscode-st's People

Contributors

serhioromano avatar msftrncs avatar nikvoronin avatar dependabot[bot] avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.