For any language, general purpose or special purpose, a language-based editor is an essential part of an integrated development environment. Traditionally, language-based editors are text-based. Blocks-based syntax offers a gentler approach for novices to get initiated to the language. Transition from blocks-based to text-based syntax, however, can be difficult. To ease the transition, seamless integration between the blocks and text views of a program is essential. This paper identifies the key challenges in achieving blocks and text integration in a language-based editor, and discusses their solution in the design and implementation of a particular editor, named Sparkly. The editor is a module of an integrated development environment for a domain-specific language, called SparkS, for scripting test processes for calibration of electronic equipment.