mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-19 13:08:15 +02:00
Jauge de contexte, espace disque sur partage agrégé, panneau Fichiers
Trois défauts sans rapport entre eux, tous visibles à l'écran. Jauge de contexte bloquée à « 0 / N (0 %) » : le comptage exact vient de usage.prompt_tokens (include_usage), qu'un llama-server récent a cessé de renvoyer. On note désormais si l'usage est arrivé ; sinon la fin de tour publie l'estimation qui pilote déjà la compaction — approximative, mais jamais absente. Et la souscription envoie la valeur courante juste après le rattrapage : une page rechargée affichait zéro sur une discussion pourtant pleine, faute d'événement ctx_used dans la fenêtre rejouée. Espace disque : « il ne reste que 11,9 Go » sur un partage Unraid qui en a des centaines. /mnt/user est servi par shfs, un FUSE qui agrège plusieurs disques — statfs y renvoie l'espace d'un seul, et ce chiffre REFUSAIT l'installation du modèle. Les systèmes de fichiers qui approximent (FUSE, overlay, NFS, CIFS, Ceph, Gluster) sont reconnus par leur magie : leur chiffre reste affiché, précédé d'un « ~ », mais ne bloque plus rien. Panneau Fichiers : le panneau entier défilait, emportant vers le haut l'en-tête, le fil d'Ariane et le pied (occupation disque, bouton .zip) dès qu'il y avait quelques fichiers. Seule la liste défile maintenant ; le pied reste en bas et l'état vide se centre. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
895ff92ed8
commit
b405adea6c
5118 files changed
+1264007
-23
No files matched your search
+92
@@ -0,0 +1,92 @@
|
||||
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _types = require('../parser/tokenizer/types');
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Determine information about this named import or named export specifier.
|
||||
*
|
||||
* This syntax is the `a` from statements like these:
|
||||
* import {A} from "./foo";
|
||||
* export {A};
|
||||
* export {A} from "./foo";
|
||||
*
|
||||
* As it turns out, we can exactly characterize the syntax meaning by simply
|
||||
* counting the number of tokens, which can be from 1 to 4:
|
||||
* {A}
|
||||
* {type A}
|
||||
* {A as B}
|
||||
* {type A as B}
|
||||
*
|
||||
* In the type case, we never actually need the names in practice, so don't get
|
||||
* them.
|
||||
*
|
||||
* TODO: There's some redundancy with the type detection here and the isType
|
||||
* flag that's already present on tokens in TS mode. This function could
|
||||
* potentially be simplified and/or pushed to the call sites to avoid the object
|
||||
* allocation.
|
||||
*/
|
||||
function getImportExportSpecifierInfo(
|
||||
tokens,
|
||||
index = tokens.currentIndex(),
|
||||
) {
|
||||
let endIndex = index + 1;
|
||||
if (isSpecifierEnd(tokens, endIndex)) {
|
||||
// import {A}
|
||||
const name = tokens.identifierNameAtIndex(index);
|
||||
return {
|
||||
isType: false,
|
||||
leftName: name,
|
||||
rightName: name,
|
||||
endIndex,
|
||||
};
|
||||
}
|
||||
endIndex++;
|
||||
if (isSpecifierEnd(tokens, endIndex)) {
|
||||
// import {type A}
|
||||
return {
|
||||
isType: true,
|
||||
leftName: null,
|
||||
rightName: null,
|
||||
endIndex,
|
||||
};
|
||||
}
|
||||
endIndex++;
|
||||
if (isSpecifierEnd(tokens, endIndex)) {
|
||||
// import {A as B}
|
||||
return {
|
||||
isType: false,
|
||||
leftName: tokens.identifierNameAtIndex(index),
|
||||
rightName: tokens.identifierNameAtIndex(index + 2),
|
||||
endIndex,
|
||||
};
|
||||
}
|
||||
endIndex++;
|
||||
if (isSpecifierEnd(tokens, endIndex)) {
|
||||
// import {type A as B}
|
||||
return {
|
||||
isType: true,
|
||||
leftName: null,
|
||||
rightName: null,
|
||||
endIndex,
|
||||
};
|
||||
}
|
||||
throw new Error(`Unexpected import/export specifier at ${index}`);
|
||||
} exports.default = getImportExportSpecifierInfo;
|
||||
|
||||
function isSpecifierEnd(tokens, index) {
|
||||
const token = tokens.tokens[index];
|
||||
return token.type === _types.TokenType.braceR || token.type === _types.TokenType.comma;
|
||||
}
|
||||
Reference in new issue
Block a user