@predictive-text-studio/lexical-model-compiler
Version:
Keyman Developer lexical model compiler
98 lines (97 loc) • 2.18 kB
TypeScript
interface KpsPackage {
/**
* <Package> -- the root element.
*/
package: KpsFile;
}
interface KpsFile {
system: KpsFileSystem;
options: KpsFileOptions;
info?: KpsFileInfo;
files?: KpsFileContentFiles;
keyboards?: KpsFileKeyboards;
lexicalModels?: KpsFileLexicalModels;
startMenu?: KpsFileStartMenu;
strings?: KpsFileStrings;
}
interface KpsFileSystem {
keymanDeveloperVersion: string;
fileVersion: string;
}
interface KpsFileOptions {
followKeyboardVersion?: string;
readmeFile?: string;
graphicFile?: string;
executeProgram?: string;
msiFilename?: string;
msiOptions?: string;
}
interface KpsFileInfo {
name?: KpsFileInfoItem;
copyright?: KpsFileInfoItem;
author?: KpsFileInfoItem;
website?: KpsFileInfoItem;
version?: KpsFileInfoItem;
}
interface KpsFileInfoItem {
_: string;
$: {
URL: string;
};
}
interface KpsFileContentFiles {
file: KpsFileContentFile[] | KpsFileContentFile;
}
interface KpsFileContentFile {
name: string;
description: string;
copyLocation: string;
fileType: string;
}
interface KpsFileLexicalModel {
name: string;
iD: string;
languages: KpsFileLanguages;
}
interface KpsFileLexicalModels {
lexicalModel: KpsFileLexicalModel[] | KpsFileLexicalModel;
}
interface KpsFileLanguages {
language: KpsFileLanguage[] | KpsFileLanguage;
}
interface KpsFileLanguage {
_: string;
$: {
ID: string;
};
}
interface KpsFileKeyboard {
name: string;
iD: string;
version: string;
oskFont?: string;
displayFont?: string;
rtl?: boolean;
languages?: KpsFileLanguages;
}
interface KpsFileKeyboards {
keyboard: KpsFileKeyboard[] | KpsFileKeyboard;
}
interface KpsFileStartMenu {
folder?: string;
addUninstallEntry?: string;
items?: KpsFileStartMenuItems;
}
interface KpsFileStartMenuItem {
name: string;
filename: string;
arguments?: string;
icon?: string;
location?: string;
}
interface KpsFileStartMenuItems {
item: KpsFileStartMenuItem[] | KpsFileStartMenuItem;
}
interface KpsFileStrings {
string: string[] | string;
}