joelday / papyrus-lang

📜Advanced language tools for the Papyrus scripting language.
Other
105 stars 19 forks source link

Documentation for this extension, VS Code, and Papyrus #60

Closed Scrivener07 closed 11 months ago

Scrivener07 commented 5 years ago

The Documentation

~45% done?

This issue is so I can track wiki related tasks.

Who are these documents for?

How do these documents help me?

What questions should I ask myself while writing documents?

Emphasis

What does the end result look like?

Below I will try to create a sort of wiki site map which tracks the completion of pages.

Goals

Extension

Features

Programming Section

Add some pages (not exhaustive) about programming with papyrus.

Language Section:

A complete onsite markdown conversion of the core Papyrus language documentation.

Why?

TODO

Scrivener07 commented 5 years ago

Fixed

Scrivener07 commented 5 years ago

I should reevaluate the naming of the top level features. We want these features to match the user facing naming provided by VS Code. For example "Smart Completion" could be named "Intellisense".

I should go through and make sure that all of our language for features matches VSCode.

Scrivener07 commented 5 years ago

We should use Linting to mean code style analytics. I think whatever we actually do with linting in the future should be in the scope of fireundubh's stuff, with his standards as the defaults.

Scrivener07 commented 5 years ago

Im drafting some stuff about what kinds of general project structures are supported. I can go on to explain how a totally vanilla project is configured out of the box, to creating your own "import". Something like this in the docs with mock directory examples. If I can define a handful of popular/conventional ones it would be easy for users to point at one and say "yup, Im doing the # 3 setup".

For example in a totally vanilla setup these are the files in play.

...\Fallout 4
|   CreationKit.ini
|
\---Data
    |   Fallout4.esm
    |
    \---Scripts
        \---Source
            +---Base
            |       Institute_Papyrus_Flags.flg
            |       *.psc
            |
            \---User
                    Readme.txt

@Deadmano had a good point here too. Ill quote..

Problem is, who works in the base game? You should always have a clean working environment, no? It's so easy to miss an overwrite, especially if you are dealing with meshes/textures etc. That's why it has become the norm to use a VFS or at least symbolic links to bring in your outside assets but keep the base game clean. That way, when you're working on different projects, you can enable/disable them at will and not worry about breaking anything or having random leftover files you forget to remove. I surely can't be the only one who avoids directly editing the base game files? I would have thought that is a modding best practice? Same as we avoid mutation of variables and objects.

Scrivener07 commented 5 years ago

Some saved notes for helping users. This has potential to become a useful tool in the project meta documents (issue templates, etc).

Interacting with Users

Here are some ready to use solutions for helping users.

Viewing Files & Directories

If you don't mind me taking a look at your directory folder, I may be able to assist further.

  1. Do not execute the file until its been placed in the intended directory.
  2. Place the CreateDirectoryTree.bat file inside the directory and double click to run.
  3. This will create a new file in the same directory called DirectoryTree.txt.

Alternatively, if you know what your doing you can use tree on the command line.

tree /f /a > ".\DirectoryTree.txt"
Download

CreateDirectoryTree.bat.zip

Scrivener07 commented 5 years ago

Create a standard procedure for testing new release versions.

Scrivener07 commented 5 years ago

Add citations to the creation kit wiki for everything in the language reference. Good thing I have a complete list of links for every page anchor within the onsite language reference. I plan to copy these links to the bottom of each language reference page as one list. For example..

See Also

Scrivener07 commented 5 years ago

Explain this in documentation as an alternative to the Project Explorer. vscode

Scrivener07 commented 5 years ago

The wiki side navigation might be getting a bit verbose right now but its helping me form the content. The pages & sub-pages that are shown in the side navigation are completely customizable.

Ill revisit pruning it in the polish stage.

minkir014 commented 5 years ago

Is refactoring already implemented https://github.com/joelday/papyrus-lang/wiki/Refactoring ???

Scrivener07 commented 5 years ago

Yes friend. Though I think I spotted a bug with the script name refactor. derpy

Scrivener07 commented 5 years ago

Okay, I think functions and events dont work as intended with states or inheritance. Thats something that should have an issue filed.

rjstone commented 4 years ago

Ok, I will look into helping with this.

joelday commented 11 months ago

Current documentation is adequate, may need significant changes at some point anyway.