| 616 | } | 612 | } |
| 617 | | 613 | |
| 618 | getCompletionPresetByName(name) { | 614 | getCompletionPresetByName(name) { |
| 619 | // Retrieve a completion preset by name | 615 | // Retrieve a completion preset by name. Return undefined if not found. |
| 620 | let { presets, preset_names } = this.getPresetList(); | 616 | let { presets, preset_names } = this.getPresetList(); |
| 621 | let preset; | 617 | let preset; |
| 622 | | 618 | |
| 623 | // Some APIs use an array of names, others use an object of {name: index} | 619 | // Some APIs use an array of names, others use an object of {name: index} |
| 624 | if (Array.isArray(preset_names)) { // array of names | 620 | if (Array.isArray(preset_names)) { // array of names |
| 625 | if (!preset_names.includes(name)) { | 621 | if (preset_names.includes(name)) { |
| 626 | preset = undefined; | | |
| 627 | } else { | | |
| 628 | preset = presets[preset_names.indexOf(name)]; | 622 | preset = presets[preset_names.indexOf(name)]; |
| 629 | } | 623 | } |
| 630 | } else { // object of {names: index} | 624 | } else { // object of {names: index} |
| 631 | if (preset_names[name] === undefined) { | 625 | if (preset_names[name] !== undefined) { |
| 632 | preset = undefined; | | |
| 633 | } else { | | |
| 634 | preset = presets[preset_names[name]]; | 626 | preset = presets[preset_names[name]]; |
| 635 | } | 627 | } |
| 636 | } | 628 | } |
| 637 | | 629 | |
| 638 | // if the preset isn't found, return null | | |
| 639 | if (preset === undefined) { | 630 | if (preset === undefined) { |
| 640 | console.error(`Preset ${name} not found`); | 631 | console.error(`Preset ${name} not found`); |
| 641 | return; | | |
| 642 | } | 632 | } |
| | 633 | |
| | 634 | // if the preset isn't found, returns undefined |
| 643 | return preset; | 635 | return preset; |
| 644 | } | 636 | } |
| 645 | | 637 | |