Frequently Asked Questions

What languages are supported?

The complete list of all supported languages in SnippetsLab 1.5 include:

ABAP, APL, ABNF, ActionScript 3, ActionScript, Ada, ADL, Agda, Alloy, AmbientTalk, ANTLR, ApacheConf, AppleScript, Arduino, AspectJ, Asymptote, AutoIt, autohotkey, Awk, BBCode, BC, Base Makefile, Bash, Bash Session, Batchfile, Befunge, BlitzBasic, BlitzMax, BNF, Boo, Boogie, Brainfuck, Bro, BUGS, CAmkES, C, CMake, c-objdump, CPSA, aspx-cs, C#, ca65 assembler, cADL, CBM BASIC V2, Ceylon, CFEngine3, ChaiScript, Chapel, HTML+Cheetah, JavaScript+Cheetah, Cheetah, XML+Cheetah, Cirru, Clay, Clojure, ClojureScript, COBOLFree, COBOL, CoffeeScript, Coldfusion CFC, Coldfusion HTML, cfstatement, Common Lisp, Component Pascal, Coq, C++, cpp-objdump, Crmsh, Croc, Cryptol, Csound Document, Csound Orchestra, Csound Score, CSS+Django/Jinja, CSS+Ruby, CSS+Genshi Text, CSS, CSS+PHP, CSS+Smarty, CUDA, Cypher, Cython, D, d-objdump, Darcs Patch, Dart, Debian Control file, Delphi, dg, Diff, Django/Jinja, Docker, DTD, Duel, Dylan session, Dylan, DylanLID, ECL, eC, Earl Grey, Easytrieve, EBNF, Eiffel, Elixir iex session, Elixir, Elm, EmacsLisp, ERB, Erlang, Erlang erl session, HTML+Evoque, Evoque, XML+Evoque, Ezhil, FSharp, Factor, Fancy, Fantom, Felix, Fish, FortranFixed, Fortran, FoxPro, GAP, GLSL, GAS, Genshi, Genshi Text, Gettext Catalog, Gherkin, Gnuplot, Go, Golo, GoodData-CL, Gosu, Gosu Template, Groff, Groovy, Haml, HTML+Handlebars, Handlebars, Haskell, Haxe, Hexdump, HTML+Django/Jinja, HTML+Genshi, HTML, HTML+PHP, HTML+Smarty, HTTP, Hxml, Hy, Hybris, IDL, Idris, Igor, Inform 6, Inform 6 template, Inform 7, INI, Io, Ioke, IRC logs, Isabelle, J, Jade, JAGS, Jasmin, Java, JavaScript+Django/Jinja, JavaScript+Ruby, JavaScript+Genshi Text, JavaScript, JavaScript+PHP, JavaScript+Smarty, JCL, JSON-LD, JSON, Java Server Page, Julia console, Julia, Kal, Kconfig, Koka, Kotlin, LSL, CSS+Lasso, HTML+Lasso, JavaScript+Lasso, Lasso, XML+Lasso, Lean, LessCss, Lighttpd configuration file, Limbo, liquid, Literate Agda, Literate Cryptol, Literate Haskell, Literate Idris, LiveScript, LLVM, Logos, Logtalk, Lua, MOOCode, MSDOS Session, Makefile, CSS+Mako, HTML+Mako, JavaScript+Mako, Mako, XML+Mako, MAQL, Markdown, Mask, Mason, Mathematica, Matlab, Matlab session, MiniD, Modelica, Modula-2, MoinMoin/Trac Wiki markup, Monkey, MoonScript, CSS+mozpreproc, mozhashpreproc, Javascript+mozpreproc, mozpercentpreproc, XUL+mozpreproc, MQL, Mscgen, MuPAD, MXML, MySQL, CSS+Myghty, HTML+Myghty, JavaScript+Myghty, Myghty, XML+Myghty, NSIS, NASM, objdump-nasm, Nemerle, nesC, NewLisp, Newspeak, Nginx configuration file, Nimrod, Nit, Nix, NumPy, objdump, Objective-C, Objective-C++, Objective-J, OCaml, Octave, ODIN, Ooc, Opa, OpenEdge ABL, PacmanConf, Pan, ParaSail, Pawn, Perl6, Perl, PHP, Pig, Pike, PkgConfig, PL/pgSQL, PostScript, PostgreSQL console (psql), PostgreSQL SQL dialect, POVRay, PowerShell, PowerShell Session, Praat, Prolog, Properties, Protocol Buffer, Puppet, PyPy Log, Python 3, Python 3.0 Traceback, Python console session, Python, Python Traceback, QBasic, QVTO, QML, RConsole, RPMSpec, Racket, Embedded Ragel, Ragel, Raw token data, Rd, REBOL, Red, Redcode, reg, ResourceBundle, Rexx, RHTML, Roboconf Graph, Roboconf Instances, RobotFramework, RQL, RSL, reStructuredText, TrafficScript, Ruby irb session, Ruby, Rust, S, Standard ML, Sass, Scala, Scaml, Scheme, Scilab, SCSS, Shen, Slim, Smali, Smalltalk, Smarty, Snobol, SourcePawn, Debian Sourcelist, SPARQL, SQL, sqlite3con, SquidConf, Scalate Server Page, Stan, SuperCollider, Swift, SWIG, systemverilog, TAP, TADS 3, Tcl, Tcsh, Tcsh Session, Tea, Termcap, Terminfo, Terraform, TeX, Text only, Thrift, Todotxt, Treetop, Turtle, HTML+Twig, Twig, TypeScript, UrbiScript, VCTreeStatus, VGL, Vala, aspx-vb,, HTML+Velocity, Velocity, XML+Velocity, verilog, vhdl, VimL, X10, XQuery, XML+Django/Jinja, XML+Ruby, XML, XML+PHP, XML+Smarty, Xojo, XSLT, Xtend, YAML+Jinja, YAML and Zephir.

Is SnippetsLab compatible with OS X 10.11 El Capitan?


What is a Fragment? How to add new Fragments?

You can include multiple different “part” to a single snippet, which is known as a Fragment. Different Fragments under the same snippet can have different notes and languages.

Fragments can be useful when a snippet logically consists of multiple parts, especially when they have different languages. For example:

  • A class header and its implementation
  • Some HTML code and its JavaScript/CSS counterparts
  • Different solutions to one problem

To learn more about Fragments, please see Snippets and Fragments.

How to use Dropbox / Google Drive or other third party sync services?

Please see Third-party Sync for detailed instructions.

Do I have to choose the language every time I create a new snippet?

No. You can set default languages on a per-folder basis. To learn more about it, please see Default Language.

What is a “Folder Shortcut” and how do I add it?

You can add your most frequently used folders and Smart Groups to the “Favorites” section of the sidebar as a shortcut. To learn more about it, please refer to Shortcuts.

How to search full content of the snippets?

From SnippetsLab 1.2.3, the app will search both the title and contents of your snippets by default. If you wish to change this behaviour, click the magnifying glass button in the left of the search bar, and choose one option from Only Search Title and Search Title and Content.

How to hide the app from menu bar?

Choose SnippetsLab > Preferences… from the menu bar, and click Assistant. Make sure both the Enable SnippetsLab Assistant and Hide dock icon options are selected.

If the dock icon is hidden, the standard menubar for SnippetsLab is also disabled. You can instead access common features like Import/Export or Preferences from the btn-action button in the bottom of the SnippetsLab Assistant.


You cannot hide the dock icon when SnippetsLab Assistant is disabled, because you won’t be able to activate the app in that case.

How to use multiple languages in a single snippet?

For some popular language combinations (especially for languages that are used in web development), SnippetsLab provides special syntax modes, such as “HTML+PHP” and “JavaScript+PHP.” If non of these special syntax modes satisfy your need, you may choose one of the following options:

  • Use fragments. You can include multiple different “part” to a single snippet, which is known as a Fragment. Different Fragments under the same snippet can have different notes and languages. To learn more about Fragments, please see Snippets and Fragments.
  • Use markdown. From version 1.5, SnippetsLab allows user to create and preview markdown snippets. You can add unlimited number of code blocks in your markdown snippet with all different languages. Every language that’s supported in the original app is also supported in the markdown preview mode. For details, please see Markdown Snippets.

I cannot enable iCloud sync. Why?

In order to use iCloud sync for SnippetsLab, you need to make sure that all of the following conditions are met:

  • You’ve turned on iCloud service and signed in with a valid Apple ID in OS X System Preferences
  • iCloud Drive is enabled
  • You havn’t disabled SnippetsLab from accessing the iCloud services (Open Apple Menu > System Preferences… > iCloud, and click on the Options… button next to “iCloud Drive.” Make sure that the checkbox next to SnippetsLab is selected.)
  • Your Mac have access to the Internet

Please refer to Enable iCloud for SnippetsLab section of this manual for more detailed instructions.

Will there be an iOS version of SnippetsLab?

I have some preliminary thought of bringing SnippetsLab to the iOS, but that’s just a very early idea and I’ve not yet decided the design details of the iOS version. I’m still working on the OS X version, and I may get my hands on the iOS version once all main features of the OS X version is finished. (No guarantee though)

I am open to ideas and if you have any comments/expectations about the iOS version, please feel free to share with me via email: