mirror of
https://github.com/keymanapp/keyman.git
synced 2026-10-07 06:27:28 +00:00
feat(developer): findKeyboardNames() now excludes compile target files
This commit is contained in:
parent
7149d3d7e5
commit
bbbb7b3759
1 changed files with 51 additions and 1 deletions
|
|
@ -19,6 +19,53 @@ export const PATH_TO_REPOSITORY = '../../../../keyboards/';
|
|||
let repositoryKeyboardNamesCache: string[] = null;
|
||||
export const repositoryKeyboardNames = () => repositoryKeyboardNamesCache ??= findKeyboardNames(PATH_TO_REPOSITORY);
|
||||
|
||||
const EXCLUDED_REPOSITORY_FILES = [
|
||||
// $keyman, $keymanonly, $keymanweb
|
||||
'experimental\\c\\chalchiteko\\source\\chalchiteko',
|
||||
'experimental\\gff\\gff_geez_emufi\\source\\gff_geez_emufi',
|
||||
'experimental\\s\\sp_lentan_ucsur\\source\\sp_lentan_ucsur',
|
||||
'experimental\\s\\sp_wakalito_ucsur\\source\\sp_wakalito_ucsur',
|
||||
'release\\c\\clavbur9\\source\\clavbur9',
|
||||
'release\\e\\eo_plus\\source\\eo_plus',
|
||||
'release\\g\\galaxie_greek_mnemonic\\source\\galaxie_greek_mnemonic',
|
||||
'release\\g\\galaxie_greek_positional\\source\\galaxie_greek_positional',
|
||||
'\\release\\g\\galaxie_hebrew_mnemonic\\source\\galaxie_hebrew_mnemonic',
|
||||
'release\\g\\greekclassical\\source\\greekclassical',
|
||||
'release\\gff\\gff_amharic\\source\\gff_amharic',
|
||||
'release\\gff\\gff_amharic_classic\\source\\gff_amharic_classic',
|
||||
'release\\gff\\gff_amh_7\\source\\gff_amh_7',
|
||||
'release\\gff\\gff_awngi_xamtanga\\source\\gff_awngi_xamtanga',
|
||||
'release\\gff\\gff_blin\\source\\gff_blin',
|
||||
'release\\gff\\gff_ethiopic\\source\\gff_ethiopic',
|
||||
'release\\gff\\gff_geez\\source\\gff_geez',
|
||||
'release\\gff\\gff_gurage\\source\\gff_gurage',
|
||||
'release\\gff\\gff_gurage_legacy\\source\\gff_gurage_legacy',
|
||||
'release\\gff\\gff_harari\\source\\gff_harari',
|
||||
'release\\gff\\gff_tigre\\source\\gff_tigre',
|
||||
'release\\gff\\gff_tigrinya_eritrea\\source\\gff_tigrinya_eritrea',
|
||||
'release/gff/gff_tigrinya_ethiopia/source/gff_tigrinya_ethiopia',
|
||||
'release\\h\\hieroglyphic\\source\\hieroglyphic',
|
||||
'release\\itrans\\itrans_bengali\\source\\itrans_bengali',
|
||||
'release\\itrans\\itrans_devanagari_hindi\\source\\itrans_devanagari_hindi',
|
||||
'release\\itrans\\itrans_devanagari_sanskrit_vedic\\source\\itrans_devanagari_sanskrit_vedic',
|
||||
'release\\itrans\\itrans_gujarati\\source\\itrans_gujarati',
|
||||
'release\\itrans\\itrans_odia\\source\\itrans_odia',
|
||||
'release\\k\\karakalpak_cyrillic\\source\\karakalpak_cyrillic',
|
||||
'release\\k\\karakalpak_latin\\source\\karakalpak_latin',
|
||||
'release\\k\\kbdsn1\\source\\kbdsn1',
|
||||
'release\\k\\korean_rr\\source\\korean_rr',
|
||||
'release\\m\\masaram_gondi\\source\\masaram_gondi',
|
||||
'release\\o\\old_hungarian\\source\\old_hungarian',
|
||||
'release\\o\\old_hungarian_carpathian_highlands\\source\\old_hungarian_carpathian_highlands',
|
||||
'release\\sil\\sil_cipher_music\\source\\sil_cipher_music',
|
||||
'release\\sil\\sil_euro_latin\\source\\sil_euro_latin',
|
||||
'release\\sil\\sil_ipa\\source\\sil_ipa',
|
||||
'release\\sil\\sil_mali_azerty\\source\\sil_mali_azerty',
|
||||
'release\\sil\\sil_mali_qwerty\\source\\sil_mali_qwerty',
|
||||
'release\\sil\\sil_pan_africa_mnemonic\\source\\sil_pan_africa_mnemonic',
|
||||
'release\\sil\\sil_tchad\\source\\sil_tchad'
|
||||
];
|
||||
|
||||
/**
|
||||
* Find the names of all the .kmn keyboard files in a directory
|
||||
* tree, excluding those in or below extras or legacy directories.
|
||||
|
|
@ -42,7 +89,10 @@ function findKeyboardNames(dir: string, baseLength: number = dir.length, names:
|
|||
if (statSync(filePath).isDirectory() && !/(extras|legacy)$/.test(filePath)) {
|
||||
findKeyboardNames(filePath, baseLength, names);
|
||||
} else if (/\.kmn$/.test(file)) {
|
||||
names.push(filePath.slice(baseLength, -4)); // remove base directory and file type
|
||||
const fileName: string = filePath.slice(baseLength, -4); // remove base directory and file type
|
||||
if (EXCLUDED_REPOSITORY_FILES.indexOf(fileName) == -1) {
|
||||
names.push(fileName);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue