Skip to content

Commit e7bbe68

Browse files
committed
main
1 parent 4280401 commit e7bbe68

File tree

3 files changed

+50
-1
lines changed

3 files changed

+50
-1
lines changed

docs/document/Skill/Lua/docs/Coroutine.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ Thusly, one should never use words such as *thread* or *multi-threading* when in
2323
- returns `boolean` indicating whether resume succeeded and `...any` returned from the resumed coroutine by `coroutine.yield`.
2424
- supports passing args to the wrapped function of the coroutine
2525
- `coroutine.wrap(fn: function): function`: wrap resumption as a capsulated function for simplicity.
26+
- `coroutine.running(): thread, boolean`: returns current running coroutine object, particularly used to re-access self reference of a coroutine inside the function body.
27+
- `boolean` indicates the returned thread is main thread or not
2628

2729
## Coordination
2830

@@ -137,3 +139,5 @@ nxt = consume()
137139
> end
138140
>end
139141
>```
142+
143+
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# Overview
2+
3+
## Filetypes
4+
5+
- `.ps1`: general powershell script
6+
- `.psm1`: powershell module file
7+
- `.psd1`: powershell module manifest
8+
9+
## Module Structure
10+
11+
- `<modname>.psm1`: the module entry file at module root, **should have the same name as parent folder**.
12+
- `<modname>.psd1`(optional): the module manifest at module root containing module description such as `Author`, `Version` and so on.
13+
- `*.ps1`: arbitrary scripts that can be sourced in `<modname>.psm1`
14+
- you can place such scripts in any manner since they wouldn't be executed unless you source it the module entry `.psm1` manually.
15+
16+
## Search Path
17+
18+
`$env:PSModulePath` stores one or more paths to search module on any `*-Module` operation.
19+
Each folder added should be a parent containing module folders.
20+
21+
```
22+
./YourModules/
23+
├── InvokeBuild
24+
├── platyPS
25+
├── ...
26+
└── PSFzf
27+
```
28+
29+
To add your own module path, use:
30+
```ps1
31+
$env:PSModulePath += "$([IO.Path]::PathSeparator)$customModulePath"
32+
```
33+
34+
## Member Exporting
35+
36+
- Explicit `Export-ModuleMember` within `*.psm1` file only.
37+
- Implicit exporting when `Export-ModuleMember` is not used
38+
- all functions and aliases are exported
39+
- other member are hidden inside module
40+
41+
> [!NOTE]
42+
> See: [Export-ModuleMember](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/export-modulemember?view=powershell-7.5)
43+
44+
> [!TIP]
45+
> Using explicit `Export-ModuleMember` is always the best practice.

docs/services/DocumentService.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ export const skillDocMap = {
2929
'Entity Framework Core': { icon: '🗿', description: '' },
3030
// 'HTML & CSS': { icon: '😬', description: '' },
3131
PowerShell: { icon: '🐚', description: 'A pretty solid shell' },
32-
Lua: { icon: '🌝', description: 'I wish lua could have JavaScript syntax' },
32+
Lua: { icon: '🌝', description: '' },
3333
} as const satisfies DocumentInfo;
3434

3535
const readingDocMap = {

0 commit comments

Comments
 (0)