Fix spelling mistakes (and add typos check to CI)

main
Blake Rain 2023-10-27 11:51:59 +01:00
parent 6af306ee89
commit eaf3b16ea7
13 changed files with 68 additions and 63 deletions

View File

@ -44,6 +44,9 @@ jobs:
run: |
cargo fmt --all -- --check
- name: Check typos
uses: crate-ci/typos@master
- name: Install trunk
uses: jetli/trunk-action@v0.4.0
with:

View File

@ -93,7 +93,7 @@ Now that we've read the entry from the page map we can first check to make sure
assert((phy & BIT(63)) != 0);
```
Now we can compute the physical address. The value given in the lower 55 bits of `phy` is the page frame number. The physical memory is divided into contigous regions of the system page size, thus we can multiply the page frame number by the system page size to obtain the physical address.
Now we can compute the physical address. The value given in the lower 55 bits of `phy` is the page frame number. The physical memory is divided into contiguous regions of the system page size, thus we can multiply the page frame number by the system page size to obtain the physical address.
```
physical_address = PFN * page_size

View File

@ -564,7 +564,7 @@ The smart pointer itself didn't know whether it was actually in the heap or on t
When the GC found that a pointer resided within an actual block it would need to add the pointer to the remembered set. Moreover, it would also need to remove pointers from the remembered set when a pointer was destructed. To keep things consistent, access to the remembered set of each block was synchronized by a mutex...
Well I'm sure I don't need to go into too much embarassing detail, but the result was that every thread spent a great deal of time contending for access to a handful of mutexes.
Well I'm sure I don't need to go into too much embarrassing detail, but the result was that every thread spent a great deal of time contending for access to a handful of mutexes.
This was a very poor concurrent design decision that I didn't realise until much later on in performance testing. I really should have known better.
@ -576,7 +576,7 @@ You know, like nearly every other GC does.
Because I was treating the tri-colour marking process as distinct from the allocator and mutator, the GC was constantly re-building white and grey bitmaps for every block, ever time it entered into a GC pass.
A lot of the work of maintaining the intial white bitmap at least could have been done by the allocator.
A lot of the work of maintaining the initial white bitmap at least could have been done by the allocator.
The GC was also not incremental: there was no provision in the design for only doing a bit of the GC process.
@ -596,4 +596,4 @@ The upshot of this is that objects which are retained beyond an initial one or t
I think that the bitmap based marking is a nice approach to tri-color, as the marking process is quite efficient. It requires virtually no memory allocation beyond a few bitmaps, and those can be allocated along with the block and reused for each pass. The main bottleneck ended up being the promotion of white pointers.
I may visit some of my other disasterous attempts to write a GC and some of the things I've learned along the way in subsequent posts. There are a few things that I think might be useful to document.
I may visit some of my other disastrous attempts to write a GC and some of the things I've learned along the way in subsequent posts. There are a few things that I think might be useful to document.

View File

@ -105,7 +105,7 @@ provided in various crates available to Rust, including the [lambda-http] crate.
finish most of the API code on one Sunday morning.
Making the calls to DynamoDB in Rust was a very nice experience. The AWS client crate makes use of
"builder" syntax, which works quite nicely. For example, to build a query for a particlar path and
"builder" syntax, which works quite nicely. For example, to build a query for a particular path and
section (the primary and sort keys for the analytics table) is quite easily comprehended, if
somewhat verbose:
@ -193,7 +193,7 @@ use case.
# Conclusion
I was pleasantly suprised at how well the process went. Apart from the somewhat slow start getting
I was pleasantly surprised at how well the process went. Apart from the somewhat slow start getting
Rust code compiled for AWS Lambda on ARM, once I had my bearings it was quite easy going.
I am somewhat worried that the error handling is not as graceful as it should be. I'm somewhat

View File

@ -57,7 +57,7 @@ I used the Ghost [Content API](https://ghost.org/docs/content-api/) to extract t
# Deploying to Netlify
Deploying the site to Netlify is as easy as using the [Netlify CLI](https://docs.netlify.com/cli/get-started/) on the command line after building the static site using React Static. All I required was a Netlify personal access token and the API ID of the site. Both of which can be easilly found in the Netlify interface.
Deploying the site to Netlify is as easy as using the [Netlify CLI](https://docs.netlify.com/cli/get-started/) on the command line after building the static site using React Static. All I required was a Netlify personal access token and the API ID of the site. Both of which can be easily found in the Netlify interface.
```bash
# Build the static site

View File

@ -83,7 +83,7 @@ Searching for occurrences from this node, the first leaf we reach is for the wor
| Document 1 | 1 |
| Document 2 | 6 |
Building the results in this way allows us to quickly ascertain that words starting with the two letters `"be"` can be found in _Document 2_ primarily (there are six occurrences) and in _Document 1_, where we find one occurence.
Building the results in this way allows us to quickly ascertain that words starting with the two letters `"be"` can be found in _Document 2_ primarily (there are six occurrences) and in _Document 1_, where we find one occurrence.
# Generating the Search Data
@ -110,7 +110,7 @@ After the documents we find the trie. Each node of the trie is encoded via a dep
1. An unsigned 8-bit value representing the "key" of the trie node. This corresponds to a printable character.
1. Two unsigned 16-bit values, giving: a. The number of occurrences recorded for the trie node, and b. The number of children of the node.
1. Any encoded occurrences, encoded as two unsigned 16-bit values giving the ID of the post in which the term occurrs and the number of times the term occurrs in the document.
1. Any encoded occurrences, encoded as two unsigned 16-bit values giving the ID of the post in which the term occurs and the number of times the term occurs in the document.
1. The children of the node are recorded, recursively, using this structure.
Once the search data has been built and the file has been generated, the GitHub action uploads the file to AWS S3. This file can be found at:

View File

@ -504,8 +504,8 @@ where
Tag::CodeBlock(kind) => {
let (language, properties) = if let CodeBlockKind::Fenced(language) = &kind {
let (language, properties) = parse_language_properties(&language)
.expect("valid language and properties");
let (language, properties) =
parse_language_properties(language).expect("valid language and properties");
(
if language.is_empty() {
None
@ -643,7 +643,9 @@ where
self.output(figure);
// If we ended up removing the <p>, then we want to reinstate it.
p.map(|p| self.enter(p));
if let Some(p) = p {
self.enter(p)
}
}
Tag::FootnoteDefinition(name) => {
@ -674,7 +676,7 @@ where
// inside paragraphs and we discard them.
let Some(top) = self.stack.pop() else {
panic!("Stack undeflow");
panic!("Stack underflow");
};
assert!(

View File

@ -425,7 +425,7 @@ contexts:
1: keyword.operator.rest.ts
2: punctuation.definition.binding-pattern.array.ts
push:
- meta_scope: meta.paramter.array-binding-pattern.ts
- meta_scope: meta.parameter.array-binding-pattern.ts
- match: '\]'
captures:
0: punctuation.definition.binding-pattern.array.ts
@ -1891,7 +1891,7 @@ contexts:
- match: '(?=[\''\"\`])'
push:
- meta_scope: meta.object.member.ts meta.object-literal.key.ts
- match: '(?=:)|((?<=[\''\"\`])(?=((\s*[\(\<,}])|(\s+(as|satisifies)\s+))))'
- match: '(?=:)|((?<=[\''\"\`])(?=((\s*[\(\<,}])|(\s+(as|satisfies)\s+))))'
pop: true
- include: comment
- include: string
@ -1908,7 +1908,7 @@ contexts:
)(?!\$)))
push:
- meta_scope: meta.object.member.ts meta.object-literal.key.ts
- match: '(?=:)|(?=\s*([\(\<,}])|(\s+as|satisifies\s+))'
- match: '(?=:)|(?=\s*([\(\<,}])|(\s+as|satisfies\s+))'
pop: true
- include: comment
- include: numeric-literal
@ -1982,7 +1982,7 @@ contexts:
2: keyword.control.satisfies.ts
push:
- meta_scope: meta.object.member.ts
- match: '(?=[;),}\]:?\-\+\>]|\|\||\&\&|\!\=\=|$|^|((?<![_$[:alnum:]])(?:(?<=\.\.\.)|(?<!\.))(as|satisifies)\s+))'
- match: '(?=[;),}\]:?\-\+\>]|\|\||\&\&|\!\=\=|$|^|((?<![_$[:alnum:]])(?:(?<=\.\.\.)|(?<!\.))(as|satisfies)\s+))'
pop: true
- include: type
- match: '(?=[_$[:alpha:]][_$[:alnum:]]*\s*=)'

View File

@ -157,7 +157,7 @@ contexts:
- include: function-parameters
- include: arrow-return-type
- include: possibly-arrow-return-type
- match: '=>'
- match: "=>"
captures:
0: storage.type.function.arrow.ts
push:
@ -211,7 +211,7 @@ contexts:
- match: '(?<![_$[:alnum:]])(?:(?<=\.\.\.)|(?<!\.))false(?![_$[:alnum:]])(?:(?=\.\.\.)|(?!\.))'
scope: constant.language.boolean.false.ts
brackets:
- match: '{'
- match: "{"
push:
- match: '}|(?=\*/)'
pop: true
@ -263,7 +263,7 @@ contexts:
class-declaration-or-expression-patterns:
- include: comment
- include: class-or-interface-heritage
- match: '[_$[:alpha:]][_$[:alnum:]]*'
- match: "[_$[:alpha:]][_$[:alnum:]]*"
captures:
0: entity.name.type.class.ts
- include: type-parameters
@ -324,7 +324,7 @@ contexts:
1: entity.name.type.module.ts
2: punctuation.accessor.ts
3: punctuation.accessor.optional.ts
- match: '([_$[:alpha:]][_$[:alnum:]]*)'
- match: "([_$[:alpha:]][_$[:alnum:]]*)"
captures:
1: entity.other.inherited-class.ts
- include: expressionPunctuations
@ -425,7 +425,7 @@ contexts:
1: keyword.operator.rest.ts
2: punctuation.definition.binding-pattern.array.ts
push:
- meta_scope: meta.paramter.array-binding-pattern.ts
- meta_scope: meta.parameter.array-binding-pattern.ts
- match: '\]'
captures:
0: punctuation.definition.binding-pattern.array.ts
@ -484,7 +484,7 @@ contexts:
pop: true
- match: path|types|no-default-lib|lib|name|resolution-mode
scope: entity.other.attribute-name.directive.ts
- match: '='
- match: "="
scope: keyword.operator.assignment.ts
- include: string
docblock:
@ -768,7 +768,7 @@ contexts:
0: punctuation.definition.block.ts
pop: true
- include: comment
- match: '([_$[:alpha:]][_$[:alnum:]]*)'
- match: "([_$[:alpha:]][_$[:alnum:]]*)"
captures:
0: variable.other.enummember.ts
push:
@ -912,7 +912,7 @@ contexts:
5: keyword.operator.optional.ts
- include: type-annotation
- include: variable-initializer
- match: ','
- match: ","
scope: punctuation.separator.parameter.ts
- include: identifiers
- include: expressionPunctuations
@ -963,9 +963,9 @@ contexts:
scope: keyword.operator.assignment.compound.ts
- match: \&=|\^=|<<=|>>=|>>>=|\|=
scope: keyword.operator.assignment.compound.bitwise.ts
- match: '<<|>>>|>>'
- match: "<<|>>>|>>"
scope: keyword.operator.bitwise.shift.ts
- match: '===|!==|==|!='
- match: "===|!==|==|!="
scope: keyword.operator.comparison.ts
- match: <=|>=|<>|<|>
scope: keyword.operator.relational.ts
@ -980,7 +980,7 @@ contexts:
scope: keyword.operator.bitwise.ts
- match: \=
scope: keyword.operator.assignment.ts
- match: '--'
- match: "--"
scope: keyword.operator.decrement.ts
- match: \+\+
scope: keyword.operator.increment.ts
@ -1231,7 +1231,7 @@ contexts:
- include: single-line-comment-consuming-line-ending
- include: function-body
function-name:
- match: '[_$[:alpha:]][_$[:alnum:]]*'
- match: "[_$[:alpha:]][_$[:alnum:]]*"
scope: meta.definition.function.ts entity.name.function.ts
function-parameters:
- match: \(
@ -1252,7 +1252,7 @@ contexts:
- include: parameter-name
- include: parameter-type-annotation
- include: variable-initializer
- match: ','
- match: ","
scope: punctuation.separator.parameter.ts
identifiers:
- include: object-identifiers
@ -1298,9 +1298,9 @@ contexts:
1: punctuation.accessor.ts
2: punctuation.accessor.optional.ts
3: variable.other.property.ts
- match: '([[:upper:]][_$[:digit:][:upper:]]*)(?![_$[:alnum:]])'
- match: "([[:upper:]][_$[:digit:][:upper:]]*)(?![_$[:alnum:]])"
scope: variable.other.constant.ts
- match: '[_$[:alpha:]][_$[:alnum:]]*'
- match: "[_$[:alpha:]][_$[:alnum:]]*"
scope: variable.other.readwrite.ts
if-statement:
- match: '(?<![_$[:alnum:]])(?:(?<=\.\.\.)|(?<!\.))(?=\bif\s*(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))\s*(?!\{))'
@ -1323,7 +1323,7 @@ contexts:
0: punctuation.definition.string.begin.ts
push:
- meta_scope: string.regexp.ts
- match: '(/)([dgimsuy]*)'
- match: "(/)([dgimsuy]*)"
captures:
1: punctuation.definition.string.end.ts
2: keyword.other.ts
@ -1390,7 +1390,7 @@ contexts:
1: entity.name.type.module.ts
2: punctuation.accessor.ts
3: punctuation.accessor.optional.ts
- match: '([_$[:alpha:]][_$[:alnum:]]*)'
- match: "([_$[:alpha:]][_$[:alnum:]]*)"
scope: variable.other.readwrite.ts
import-export-assert-clause:
- match: '(?<![_$[:alnum:]])(?:(?<=\.\.\.)|(?<!\.))(assert)\s*(\{)'
@ -1406,7 +1406,7 @@ contexts:
- include: string
- match: '(?:[_$[:alpha:]][_$[:alnum:]]*)\s*(?=(\/\*([^\*]|(\*[^\/]))*\*\/\s*)*:)'
scope: meta.object-literal.key.ts
- match: ':'
- match: ":"
scope: punctuation.separator.key-value.ts
import-export-block:
- match: '\{'
@ -1527,7 +1527,7 @@ contexts:
pop: true
- include: comment
- include: class-or-interface-heritage
- match: '[_$[:alpha:]][_$[:alnum:]]*'
- match: "[_$[:alpha:]][_$[:alnum:]]*"
captures:
0: entity.name.type.interface.ts
- include: type-parameters
@ -1639,7 +1639,7 @@ contexts:
- include: string
- include: array-literal
- include: numeric-literal
- match: '[_$[:alpha:]][_$[:alnum:]]*'
- match: "[_$[:alpha:]][_$[:alnum:]]*"
scope: meta.definition.method.ts entity.name.function.ts
- match: \?
scope: keyword.operator.optional.ts
@ -1655,7 +1655,7 @@ contexts:
pop: true
- include: comment
- include: string
- match: '([_$[:alpha:]][_$[:alnum:]]*)'
- match: "([_$[:alpha:]][_$[:alnum:]]*)"
scope: entity.name.type.module.ts
- include: punctuation-accessor
- include: decl-block
@ -1781,7 +1781,7 @@ contexts:
- include: string
- include: array-literal
- include: numeric-literal
- match: '([_$[:alpha:]][_$[:alnum:]]*)'
- match: "([_$[:alpha:]][_$[:alnum:]]*)"
scope: variable.object.property.ts
object-binding-pattern:
- match: '(?:(\.\.\.)\s*)?(\{)'
@ -1891,7 +1891,7 @@ contexts:
- match: '(?=[\''\"\`])'
push:
- meta_scope: meta.object.member.ts meta.object-literal.key.ts
- match: '(?=:)|((?<=[\''\"\`])(?=((\s*[\(\<,}])|(\s+(as|satisifies)\s+))))'
- match: '(?=:)|((?<=[\''\"\`])(?=((\s*[\(\<,}])|(\s+(as|satisfies)\s+))))'
pop: true
- include: comment
- include: string
@ -1908,7 +1908,7 @@ contexts:
)(?!\$)))
push:
- meta_scope: meta.object.member.ts meta.object-literal.key.ts
- match: '(?=:)|(?=\s*([\(\<,}])|(\s+as|satisifies\s+))'
- match: '(?=:)|(?=\s*([\(\<,}])|(\s+as|satisfies\s+))'
pop: true
- include: comment
- include: numeric-literal
@ -1982,7 +1982,7 @@ contexts:
2: keyword.control.satisfies.ts
push:
- meta_scope: meta.object.member.ts
- match: '(?=[;),}\]:?\-\+\>]|\|\||\&\&|\!\=\=|$|^|((?<![_$[:alnum:]])(?:(?<=\.\.\.)|(?<!\.))(as|satisifies)\s+))'
- match: '(?=[;),}\]:?\-\+\>]|\|\||\&\&|\!\=\=|$|^|((?<![_$[:alnum:]])(?:(?<=\.\.\.)|(?<!\.))(as|satisfies)\s+))'
pop: true
- include: type
- match: '(?=[_$[:alpha:]][_$[:alnum:]]*\s*=)'
@ -1991,7 +1991,7 @@ contexts:
- match: '(?=,|\}|$|\/\/|\/\*)'
pop: true
- include: expression
- match: ':'
- match: ":"
captures:
0: meta.object-literal.key.ts punctuation.separator.key-value.ts
push:
@ -2193,7 +2193,7 @@ contexts:
1: keyword.operator.type.annotation.ts
push:
- meta_scope: meta.type.annotation.ts
- match: '(?=[,)])|(?==[^>])'
- match: "(?=[,)])|(?==[^>])"
pop: true
- include: type
paren-expression:
@ -2251,7 +2251,7 @@ contexts:
1: punctuation.accessor.ts
2: punctuation.accessor.optional.ts
punctuation-comma:
- match: ','
- match: ","
scope: punctuation.separator.comma.ts
punctuation-semicolon:
- match: ;
@ -2286,7 +2286,7 @@ contexts:
1: punctuation.definition.string.begin.ts
push:
- meta_scope: string.regexp.ts
- match: '(/)([dgimsuy]*)'
- match: "(/)([dgimsuy]*)"
captures:
1: punctuation.definition.string.end.ts
2: keyword.other.ts
@ -2297,7 +2297,7 @@ contexts:
0: punctuation.definition.string.begin.ts
push:
- meta_scope: string.regexp.ts
- match: '(/)([dgimsuy]*)'
- match: "(/)([dgimsuy]*)"
captures:
1: punctuation.definition.string.end.ts
2: keyword.other.ts
@ -2377,7 +2377,7 @@ contexts:
1: keyword.operator.type.annotation.ts
push:
- meta_scope: meta.return.type.ts
- match: '(?<![:|&])(?=$|^|[{};,]|//)'
- match: "(?<![:|&])(?=$|^|[{};,]|//)"
pop: true
- include: return-type-core
- match: (?<=\))\s*(:)
@ -2774,13 +2774,13 @@ contexts:
- include: statements
template:
- include: template-call
- match: '([_$[:alpha:]][_$[:alnum:]]*)?(`)'
- match: "([_$[:alpha:]][_$[:alnum:]]*)?(`)"
captures:
1: entity.name.function.tagged-template.ts
2: string.template.ts punctuation.definition.string.template.begin.ts
push:
- meta_content_scope: string.template.ts
- match: '`'
- match: "`"
captures:
0: string.template.ts punctuation.definition.string.template.end.ts
pop: true
@ -2796,7 +2796,7 @@ contexts:
- match: '(?=(<\s*(((keyof|infer|typeof|readonly)\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|(\''([^\''\\]|\\.)*\'')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`))(?=\s*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^<>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)\>|\<\s*(((keyof|infer|typeof|readonly)\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|(\''([^\''\\]|\\.)*\'')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`))(?=\s*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))(([^<>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)\>|\<\s*(((keyof|infer|typeof|readonly)\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|(\''([^\''\\]|\\.)*\'')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`))(?=\s*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^<>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)\>)*(?<!=)\>))*(?<!=)\>)*(?<!=)>\s*)?`)'
pop: true
- include: support-function-call-identifiers
- match: '([_$[:alpha:]][_$[:alnum:]]*)'
- match: "([_$[:alpha:]][_$[:alnum:]]*)"
scope: entity.name.function.tagged-template.ts
- include: type-arguments
- match: '([_$[:alpha:]][_$[:alnum:]]*)?\s*(?=(<\s*(((keyof|infer|typeof|readonly)\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|(\''([^\''\\]|\\.)*\'')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`))(?=\s*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^<>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)\>|\<\s*(((keyof|infer|typeof|readonly)\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|(\''([^\''\\]|\\.)*\'')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`))(?=\s*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))(([^<>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)\>|\<\s*(((keyof|infer|typeof|readonly)\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|(\''([^\''\\]|\\.)*\'')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`))(?=\s*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^<>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)\>)*(?<!=)\>))*(?<!=)\>)*(?<!=)>\s*)`)'
@ -2820,13 +2820,13 @@ contexts:
- include: expression
template-type:
- include: template-call
- match: '([_$[:alpha:]][_$[:alnum:]]*)?(`)'
- match: "([_$[:alpha:]][_$[:alnum:]]*)?(`)"
captures:
1: entity.name.function.tagged-template.ts
2: string.template.ts punctuation.definition.string.template.begin.ts
push:
- meta_content_scope: string.template.ts
- match: '`'
- match: "`"
captures:
0: string.template.ts punctuation.definition.string.template.end.ts
pop: true
@ -2951,7 +2951,7 @@ contexts:
captures:
0: keyword.operator.ternary.ts
push:
- match: ':'
- match: ":"
captures:
0: keyword.operator.ternary.ts
pop: true
@ -3003,7 +3003,7 @@ contexts:
- match: '(?<!=>)(?<![|&])(?=[,\]\)\{\}=;>:\?]|//|$)'
pop: true
- include: type-function-return-type-core
- match: '=>'
- match: "=>"
captures:
0: storage.type.function.arrow.ts
push:
@ -3057,7 +3057,7 @@ contexts:
1: entity.name.type.module.ts
2: punctuation.accessor.ts
3: punctuation.accessor.optional.ts
- match: '[_$[:alpha:]][_$[:alnum:]]*'
- match: "[_$[:alpha:]][_$[:alnum:]]*"
scope: entity.name.type.ts
type-object:
- match: '\{'
@ -3095,7 +3095,7 @@ contexts:
- match: '(?<=\})'
pop: true
- include: type-object
- match: '[&|]'
- match: "[&|]"
captures:
0: keyword.operator.type.ts
push:
@ -3162,7 +3162,7 @@ contexts:
4: variable.parameter.ts
5: keyword.operator.optional.ts
- include: type-annotation
- match: ','
- match: ","
scope: punctuation.separator.parameter.ts
- include: type
type-predicate-operator:
@ -3392,7 +3392,7 @@ contexts:
- match: '(?=$|^|[;,=}]|((?<![_$[:alnum:]])(?:(?<=\.\.\.)|(?<!\.))(of|in)\s+)|(;|^\s*$|(?:^\s*(?:abstract|async|(?:\bawait\s+(?:\busing(?=\s+(?!in\b|of\b(?!\s*(?:of\b|=)))[_$[:alpha:]])\b)\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\busing(?=\s+(?!in\b|of\b(?!\s*(?:of\b|=)))[_$[:alpha:]])\b)|var|while)\b)))'
pop: true
- include: var-single-variable-type-annotation
- match: '([_$[:alpha:]][_$[:alnum:]]*)'
- match: "([_$[:alpha:]][_$[:alnum:]]*)"
captures:
1: meta.definition.variable.ts variable.other.constant.ts
push:

View File

@ -103,7 +103,7 @@ pub fn number(props: &NumberProps) -> Html {
let input_value = {
let places = props.places;
use_state(move || {
format_number(value, false, places, None, None).expect("format_numbert to work")
format_number(value, false, places, None, None).expect("format_number to work")
})
};

View File

@ -96,7 +96,7 @@ pub struct BlogPostSeoProps {
#[function_component(BlogPostSeo)]
pub fn blog_post_seo(props: &BlogPostSeoProps) -> Html {
let tags = use_context::<TagsContext>().expect("TagsCOntext to be provided");
let tags = use_context::<TagsContext>().expect("TagsContext to be provided");
let tags = props
.tags
.iter()

View File

@ -1146,7 +1146,7 @@ fn report_planned_stop_loss() -> Html {
{margin}
</Table>
<p class="text-neutral-500 text-sm">
{"This pannel shows the maximum position size available, given "}
{"This panel shows the maximum position size available, given "}
{"the entered position stop loss and the account position risk."}
</p>
</Panel>

View File

@ -10,7 +10,7 @@ elif [[ "$TRUNK_PROFILE" = "release" ]]; then
LABEL="Release"
ENV="production"
else
echo "Unrecognized 'TRUNK_PROFILE' value '$TRUN_PROFILE'; expected either 'debug' or 'release'"
echo "Unrecognized 'TRUNK_PROFILE' value '$TRUNK_PROFILE'; expected either 'debug' or 'release'"
exit 1
fi