Search papers, labs, and topics across Lattice.
This paper introduces four practical extensions to Complishon, Pharo's context-aware code completion engine, aimed at overcoming limitations such as strict prefix matching and difficulty in scanning large completion menus. By implementing typo tolerance, implicit prefix expansion, grouped completion entries, and camel-case matching, the authors demonstrate that these enhancements can be integrated without compromising the engine's modular architecture or predictable behavior. The key result shows that these extensions significantly improve user experience and efficiency in code completion tasks.
Typos and camel-case abbreviations no longer hinder code completion accuracy in Pharo, thanks to innovative extensions that enhance user experience without sacrificing performance.
Complishon is Pharo's context-aware code completion engine, built on AST analysis, lazy candidate generation, and filter-based candidate selection. Its existing design already provides strong semantic completion, but several practical limits remain. Strict prefix matching is sensitive to small typing errors, framework prefixes often force redundant input, large completion menus are difficult to scan, and prefix-only matching does not support common camel-case abbreviations. This paper presents four extensions that address these limits: typo tolerance, implicit prefix expansion, grouped completion entries, and camel-case matching. For each extension, we describe the implementation, discuss alternative designs, and explain the trade-offs involved. The main contribution of the paper is to show that these improvements can be integrated into Complishon while preserving its modular architecture and predictable behavior.