Skip to content

Releases: Kiyozz/papyrus-tools

v0.16.3

Choose a tag to compare

@github-actions github-actions released this 03 Nov 00:57
9636a64

Patch Changes

  • bbd0946: The Marketplace gets the extension of each platform, binary included, instead of the package without it; macOS on Intel (darwin-x64) joins the platforms.

v0.16.2

Choose a tag to compare

@github-actions github-actions released this 03 Nov 00:01
f95a4e3

Patch Changes

  • f09c88c: The extension is shown as "Papyrus Toolchain": "Papyrus" is already taken on the Visual Studio Marketplace.

v0.16.1

Choose a tag to compare

@github-actions github-actions released this 02 Nov 23:47
90d9958

Patch Changes

  • dbaf8d8: The extension is now kiyozz.papyrus-toolchain: papyrus-tools is already taken on the Visual Studio Marketplace.

v0.16.0

Choose a tag to compare

@github-actions github-actions released this 02 Nov 23:27
4827975

Minor Changes

  • c970e22: sources in papyrus.toml, and the Imports and Folders of a .ppj, give the folders above the namespaces: PAP021 then reports ScriptName Stray in Source/MyMod/Stray.psc, and a script out of its folder no longer moves the root of papyrus build for the others.
  • b14fc8e: The extension is ready for the Visual Studio Marketplace and Open VSX: an icon, the changelog on its page, and a universal package, without the binary, for the platforms not built.

v0.15.0

Choose a tag to compare

@github-actions github-actions released this 01 Nov 21:15
c322019

Minor Changes

  • 9354135: .ppj projects, the Creation Kit's and Pyro's: read as a configuration in a folder without papyrus.toml, or named by ppj in it; papyrus init adopts them with --ppj when a folder has several; build compiles a partial list script by script.
  • 9354135: .pex files read: papyrus disassemble prints a compiled script of Skyrim, Fallout 4, Fallout 76 or Starfield as assembly, in the format of PapyrusAssembler; the VSCode extension opens .pex files as read-only assembly, refreshed when they are compiled again.
  • 9354135: papyrus build Source/MyScript.psc compiles that script alone, where it compiled its whole folder, the folders of the project staying available for what it uses. In VSCode, Papyrus: Compile this script, also in the context menu of the explorer, saves and compiles the open or selected scripts of a project with a papyrus.toml.

Patch Changes

  • 9354135: PAP021 also reports a namespace whose folder is missing, ScriptName MyMod:Stray in Source/Stray.psc, which the compiler refuses.

v0.13.0

Choose a tag to compare

@github-actions github-actions released this 01 Nov 02:09
c9e083b

Minor Changes

  • c15d04f: papyrus init, papyrus explain, --stdin on check and fmt, --message-format json and sarif, a baseline for older mods; in the editor, a script renamed with its file and the reverse, namespaces following folders, range formatting, type hierarchy, quick fixes and --fix renaming a name against the convention and removing what does nothing, recursion shown as hints and lenses; PAP041 calls/infinite-recursion.

v0.12.0

Choose a tag to compare

@github-actions github-actions released this 14 Oct 22:50
0530618

Minor Changes

  • 885fbd1: PAP021 to PAP033, what the compilers of Skyrim, Fallout 4 and Starfield refuse, each case checked against the official compilers: ScriptName other than the file's name, an extends cycle, members declared twice, Return with or without a value against the declaration, overrides whose parameters, defaults or return type differ — defaults compared as written, False is not false, with the parent's as a fix —, functions only a state declares, the shape of property accessors, array sizes, assignments to a call or .Length, initial values that are not literals, and the Fallout 4 and Starfield rules (default order, Native functions, integer range, native overrides in Starfield). PAP007 also reports casts, comparisons and arithmetic between unrelated types, and the value of a call that returns nothing. Import MyNs:Helper now lets Helper name the script.
  • 885fbd1: PAP034 to PAP040, modders' habits, as warnings: RegisterForUpdate and RegisterForUpdateGameTime (with their Single version as a fix), Game.GetPlayer() in a loop, a boolean compared with True or False (with the simpler form), a value assigned or compared to itself, script variables never read, unused Imports.
  • 885fbd1: papyrus fmt sets functions, events, states, structs, groups and full properties apart with a blank line, drops the parentheses around a whole If, ElseIf or While condition, and writes keywords in PascalCase (EndFunction) with keywords = "pascal" in the [fmt] section of papyrus.toml.

v0.11.1

Choose a tag to compare

@github-actions github-actions released this 14 Oct 22:10
bdbc9d3

Patch Changes

  • 3afc103: papyrus fmt keeps the case of True, False and None in a parameter's default value. The compilers of the three games compare it as text with the default of the overridden function — the parent's, or the empty state's —, so lowercasing False broke the compilation of a script overriding one that writes False, as many vanilla scripts do.

v0.11.0

Choose a tag to compare

@github-actions github-actions released this 14 Oct 21:50
0aaa932

Minor Changes

  • c7e4ee2: Integration tests of the VSCode extension with @vscode/test-cli, run in CI under xvfb-run: activation on a .psc, a diagnostic from the server, the build and check tasks with their problems, and "Create papyrus.toml".

v0.10.0

Choose a tag to compare

@github-actions github-actions released this 14 Oct 21:15
ba45023

Minor Changes

  • 6c3c223: The TextMate grammar is tested in CI with vscode-tmgrammar-test, on annotated .psc files that give the scope expected on each token. Fixed on the way: a variable declared with a primitive type (Int count, Float x = 0.0, a parameter Int aiCount) now has its name highlighted; EndProperty, EndState, EndStruct and EndGroup carry the scope of their opening keyword; quotes and comment delimiters carry their punctuation scope.