Compare commits
9 Commits
feat/fee-h
...
feat/tab-o
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0ee599a2b6 | ||
|
|
02c59f8d79 | ||
|
|
3d5b77e60a | ||
|
|
bd1226fe90 | ||
|
|
57403e42dd | ||
|
|
2b42a96c4a | ||
|
|
4a22861860 | ||
|
|
b09d029931 | ||
|
|
0d8f2c31e7 |
@@ -213,7 +213,7 @@ const Home: NextPage = () => {
|
||||
>
|
||||
<main style={{ display: "flex", flex: 1, position: "relative" }}>
|
||||
<HooksEditor />
|
||||
{snap.files[snap.active]?.name?.split(".")?.[1].toLowerCase() ===
|
||||
{snap.files[snap.active]?.name?.split(".")?.[1]?.toLowerCase() ===
|
||||
"c" && (
|
||||
<Hotkeys
|
||||
keyName="command+b,ctrl+b"
|
||||
|
||||
@@ -58,6 +58,29 @@ export const fetchFiles = (gistId: string) => {
|
||||
language: res.data.files?.[filename]?.language?.toLowerCase() || "",
|
||||
content: res.data.files?.[filename]?.content || "",
|
||||
}));
|
||||
// Sort files so that the source files are first
|
||||
// In case of other files leave the order as it its
|
||||
files.sort((a, b) => {
|
||||
const aBasename = a.name.split('.')?.[0];
|
||||
const aCext = a.name?.toLowerCase().endsWith('.c');
|
||||
const bBasename = b.name.split('.')?.[0];
|
||||
const bCext = b.name?.toLowerCase().endsWith('.c');
|
||||
// If a has c extension and b doesn't move a up
|
||||
if (aCext && !bCext) {
|
||||
return -1;
|
||||
}
|
||||
if (!aCext && bCext) {
|
||||
return 1
|
||||
}
|
||||
// Otherwise fallback to default sorting based on basename
|
||||
if (aBasename > bBasename) {
|
||||
return 1;
|
||||
}
|
||||
if (bBasename > aBasename) {
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
})
|
||||
state.loading = false;
|
||||
if (files.length > 0) {
|
||||
state.logs.push({
|
||||
|
||||
@@ -41,6 +41,7 @@ import hooksSkipHashBufLen from "./md/hooks-skip-hash-buf-len.md";
|
||||
import hooksStateBufLen from "./md/hooks-state-buf-len.md";
|
||||
import hooksTransactionHashBufLen from "./md/hooks-transaction-hash-buf-len.md";
|
||||
import hooksTransactionSlotLimit from "./md/hooks-transaction-slot-limit.md";
|
||||
import hooksTrivialCbak from "./md/hooks-trivial-cbak.md";
|
||||
import hooksValidateBufLen from "./md/hooks-validate-buf-len.md";
|
||||
import hooksVerifyBufLen from "./md/hooks-verify-buf-len.md";
|
||||
|
||||
@@ -90,6 +91,7 @@ const docs: { [key: string]: string; } = {
|
||||
"hooks-state-buf-len": hooksStateBufLen,
|
||||
"hooks-transaction-hash-buf-len": hooksTransactionHashBufLen,
|
||||
"hooks-transaction-slot-limit": hooksTransactionSlotLimit,
|
||||
"hooks-trivial-cbak": hooksTrivialCbak,
|
||||
"hooks-validate-buf-len": hooksValidateBufLen,
|
||||
"hooks-verify-buf-len": hooksVerifyBufLen,
|
||||
};
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# hooks-entry-points
|
||||
|
||||
A Hook always implements and exports exactly two functions: [cbak](https://xrpl-hooks.readme.io/v2.0/reference/cbak) and [hook](https://xrpl-hooks.readme.io/v2.0/reference/hook).
|
||||
A Hook always implements and exports a [hook](https://xrpl-hooks.readme.io/v2.0/reference/hook) function.
|
||||
|
||||
This check shows error on translation units that do not have them.
|
||||
This check shows error on translation units that do not have it.
|
||||
|
||||
[Read more](https://xrpl-hooks.readme.io/v2.0/docs/compiling-hooks)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# hooks-hash-buf-len
|
||||
|
||||
Functions [util_sha512h](https://xrpl-hooks.readme.io/v2.0/reference/util_sha512h), [hook_hash](https://xrpl-hooks.readme.io/v2.0/reference/hook_hash), [ledger_last_hash](https://xrpl-hooks.readme.io/v2.0/reference/ledger_last_hash) and [nonce](https://xrpl-hooks.readme.io/v2.0/reference/nonce) have fixed-size hash output.
|
||||
Functions [util_sha512h](https://xrpl-hooks.readme.io/v2.0/reference/util_sha512h), [hook_hash](https://xrpl-hooks.readme.io/v2.0/reference/hook_hash), [ledger_last_hash](https://xrpl-hooks.readme.io/v2.0/reference/ledger_last_hash), [etxn_nonce](https://xrpl-hooks.readme.io/v2.0/reference/etxn_nonce) and [ledger_nonce](https://xrpl-hooks.readme.io/v2.0/reference/ledger_nonce) have fixed-size hash output.
|
||||
|
||||
This check warns about too-small size of their output buffer (if it's specified by a constant - variable parameter is ignored).
|
||||
|
||||
7
xrpl-hooks-docs/md/hooks-trivial-cbak.md
Normal file
7
xrpl-hooks-docs/md/hooks-trivial-cbak.md
Normal file
@@ -0,0 +1,7 @@
|
||||
# hooks-trivial-cbak
|
||||
|
||||
A Hook may implement and export a [cbak](https://xrpl-hooks.readme.io/v2.0/reference/cbak) function.
|
||||
|
||||
But the function is optional, and defining it so that it doesn't do anything besides returning a constant value is unnecessary (except for some debugging scenarios) and just increases the hook size. This check warns about such implementations.
|
||||
|
||||
[Read more](https://xrpl-hooks.readme.io/v2.0/docs/compiling-hooks)
|
||||
Reference in New Issue
Block a user