LemmaLoomUser Guide PDF

Undo and Redo

Changes made via LemmaLoom are immediately saved upon making the modification, and the history of said modifications is tracked accordingly. Undoing these changes can be done via Edit ▸ Undo, one at a time, working backwards through the history in reverse chronological order until the desired point has been reached. Pretty much everything within a project may be undone, including the deletion of documents and auto-coding a whole set of documents.

In cases involving the deletion of a project, document, or code, or the merging of two codes, LemmaLoom asks for confirmation. Most other things (such as groups, sets, tags, attributes, dictionaries, and analyzers) are deleted instantly without prompting. Accidental deletions can be reverted using Edit ▸ Undo.

Projects are deleted permanently, while importing and/or translating documents erases portions of the history. What cannot be undone outlines these instances further down in this chapter.

This guide’s examples use “Climate Debate”, which is explained fully in The example project in Chapter 1, Introduction. For practice purposes, the project may be imported with File ▸ Import ▸ Example Project.

Key terms

  • A step is one instance of an action captured by LemmaLoom. Its name, which the Edit menu shows, identifies which command caused the change; examples include Apply Code and Delete Document. A single coding constitutes one step, while running Auto Code (see Coding passages automatically in Chapter 7, Coding) to create two hundred codings and four new codes also counts as one step.
  • Undo history refers to all steps available for undoing changes. Every individual window maintains its own separate undo history (see Which window a step belongs to later on in this chapter).

Undoing a change

  1. Click the window where you made the change, so that it is the active window. For most changes, this is the main window.
  2. If the cursor is in a text field, click outside it.
  3. Open the Edit menu. The first item names the step that will be undone, for example Undo Apply Code.
  4. Choose the item, or press ⌘Z.
The Edit menu after a passage in “Hope Takes Work” has been coded with “Fear”.The Edit menu after a passage in “Hope Takes Work” has been coded with “Fear”.
The Edit menu after a passage in “Hope Takes Work” has been coded with “Fear”.

If you wish to take multiple steps back in history, select Undo from the menu again. Every successive selection will reveal what the name of the next step is in history. Pressing ⌘Z quickly several times will reverse those actions sequentially. Once nothing remains to undo, the command changes its name to Undo, and the interface disables it.

An Undo reverts all elements affected by the particular action. This means that, when performing Undo Delete Document, the document returns, including all the text, codings, memos, links, bookmarks, attribute values, and place in every set.

When undoing results in the restoration of text content, LemmaLoom will index the text content again in the background (see Indexing a document again in Chapter 21, Analysis and Indexing). See Window ▸ Activity (⌥⌘0) to track the indexing progress.

Redoing a change

When you undo something, there will always be an option in the Edit menu to redo what was done, like Redo Apply Code. Click this menu option, or hit ⇧⌘Z on your keyboard. You can redo as many actions as you undid, starting from the last undone action.

Your redo options persist only until you make another change in the same window. If, for instance, you code another passage, you lose the steps you undid for good, and Redo is disabled.

The Edit menu after the deletion of “Carbon Tax Debate” has been undone. Undo names the step before it, and Redo names the deletion.The Edit menu after the deletion of “Carbon Tax Debate” has been undone. Undo names the step before it, and Redo names the deletion.
The Edit menu after the deletion of “Carbon Tax Debate” has been undone. Undo names the step before it, and Redo names the deletion.

An example

Say you’re working on “Hope Takes Work” in the main window. You’ve coded a passage with “Fear”. In the Details facet of the inspector’s Text tab, you’ve changed the “Outlet” attribute of the essay from “The Weekly Ledger” to The Northern Herald. Finally, you deleted “Carbon Tax Debate”. This table outlines what options appear in the Edit menu after each action, and after the undos and redos that follow.

The Details facet of “Hope Takes Work” while the “Outlet” attribute is being changed to The Northern Herald.The Details facet of “Hope Takes Work” while the “Outlet” attribute is being changed to The Northern Herald.
The Details facet of “Hope Takes Work” while the “Outlet” attribute is being changed to The Northern Herald.
No.What you doUndo itemRedo item
1Code a passage with “Fear”Undo Apply CodeRedo (disabled)
2Select “The Weekly Ledger” in the “Outlet” field, type The Northern Herald, then click in the readerUndo Set ValueRedo (disabled)
3Delete “Carbon Tax Debate”Undo Delete DocumentRedo (disabled)
4Press ⌘ZUndo Set ValueRedo Delete Document
5Press ⌘ZUndo Apply CodeRedo Set Value
6Press ⇧⌘ZUndo Set ValueRedo Delete Document
7Code another passage with “Hope”Undo Apply CodeRedo (disabled)

“Carbon Tax Debate” makes a return to the project following row 4. Following row 5, “Outlet” becomes “The Weekly Ledger”, while The Northern Herald returns via row 6. Since row 7’s coding is new, Redo is disabled, and “Carbon Tax Debate” remains within the project.

Row 2 consists of just one step despite your entering 19 characters. The reason is covered below in Values typed into attribute fields.

How changes become steps

Each command counts as one step, however much it changes. For example:

  • Delete Documents with six documents selected counts as one step. Likewise, deleting “Running Out of Time” will delete “Running Out of Time (German)” in the same step, since the latter is a translation of the former.
  • Similarly, Save within Document Properties counts as one step, regardless of how many of the document’s properties (such as name, tags, attribute values, or language) you changed.
  • An Auto Code run counts as one step; Undo will reverse any codings added during the execution of that command and also delete any codes created by the command. If you click Stop before the command completes execution, Undo will reverse everything performed until that point.
  • Similarly, Bookmark Hits… and Add to Dictionary found in a query’s Actions menu, and Import in the Attributes window, each count as one step each time they are invoked, applying to all items they generate.

Undoing a command also reverses changes it made elsewhere. When coding a passage in “Running Out of Time”, LemmaLoom performs the equivalent coding on “Running Out of Time (German)”. Undoing Apply Code reverses the changes in both documents.

Values typed into attribute fields

Text attribute field contents in the Details facet of the inspector’s Text tab and in the Attributes window are autosaved as you type into them, while non-text contents are autosaved as soon as they are entered. LemmaLoom organizes all changes made to the same field within a given document as part of a single Set Value step, provided no other step comes between them.

Typing The Northern Herald into “Outlet” creates a single step that Edit ▸ Undo Set Value will reverse to restore its initial state prior to entering your text. Changing “Stance” creates another step. Finishing where you started (for example, typing something and deleting it) removes the entire step from the history. This applies also to attribute field values of codings and memos, found within the Codings facet of the inspector’s Coding tab.

To undo the whole value at once, click elsewhere first, then choose Edit ▸ Undo Set Value.

Changes that take a while

Deleting multiple documents, auto-coding a set, and importing a codebook take some time. Your current step is only displayed in the Edit menu after it has completed. Until it finishes, ⌘Z will undo the previous step. Before performing an undo action, make sure that the last deleted document has left the navigation sidebar, that the Auto Code dialog displays Done, or that the Importing REFI-QDA Codebook dialog is closed.

Which window a step belongs to

Each window in LemmaLoom maintains a history. This applies to your main window, your Codebook window, your Document window (from Open in New Window), and any Queries, Query Results, Analyzers, Tags, and Attributes window you might be working on. When creating a new instance of the main window via File ▸ New Window, you’ll end up with yet another separate history to track changes. Commands such as Edit ▸ Undo and Edit ▸ Redo are confined to the currently active window.

  • A step belongs to the window that was active when the change began. After renaming the tag “viral” in the Tags window, click the Tags window before choosing Edit ▸ Undo Rename Tag.
  • Changes that occur in response to actions initiated from a dialog belong to the window the dialog opened from. Your Document Properties dialog keeps its changes in history within the main window; reverse those changes with Edit ▸ Undo inside the main window once the dialog has closed. The code palette, similarly, keeps its changes in history in whatever window you opened it from. Any dialogs opened from the Attributes window keep their changes in history in that window.
  • Background operations belong to the window they originated from regardless of which window is active upon completion. Initiating an Auto Code run in the main window means that it would be placed in the history of the main window.
  • The history in your main window covers all of your projects. Once you’ve coded a passage within “Climate Debate”, then switched projects, and pressed ⌘Z, the coding is undone in your initial project while the second project stays active. If you wish to observe your undone changes, switch back first.
The Codebook window of “Climate Debate” as the active window. Its Edit menu offers to undo the change just made to the code “Costs”.The Codebook window of “Climate Debate” as the active window. Its Edit menu offers to undo the change just made to the code “Costs”.
The Codebook window of “Climate Debate” as the active window. Its Edit menu offers to undo the change just made to the code “Costs”.

What can be undone

For every table, the rightmost column will contain the name after Undo or Redo in the Edit menu.

Codes and coding

What you doStep
Code a passage, including the values asked for by a code with attributesApply Code
Create a code and code the passage with it in one go, with Add Code “…” or In Vivo “…” in the code palette, or with Document ▸ In Vivo CodeApply Code
Remove a coding in the code palette, or with Delete Coding in the Codings facet or the Codings viewDelete Coding
Give a coding another code with Change CodeChange Code
Create a code, including Add Subcode in the Codebook window and in the Codes facetNew Code
Change a code’s Name, Color, Format, Scope, Tags, Attributes, or AboutEdit Code
Move a code under another code or to the top level, by dragging it or with Move ToMove Code
Merge Into another codeMerge
Delete a codeDelete Code
Add to Code Set ▸ New Set from CodeNew Code Set
Add to Code SetAdd to Code Set
Remove from Code SetRemove from Code Set
Rename a code setRename
Delete a code set, with Delete in its shortcut menu or its trash button in the Codes facetDelete Code Set
Auto Code… from a lens or a queryAuto Code
File ▸ Import ▸ REFI-QDA CodebookREFI-QDA Codebook

Undoing Delete Code restores the code itself, including all of its subcodes, their codings, and associated attribute values. Undo Merge splits the merge, restoring the merged code with all of its codings, subcodes, memos, code sets, and saved queries related to it.

Undo REFI-QDA Codebook removes everything the import added to the codebook (see REFI-QDA codebooks in Chapter 22, Exchanging and Exporting).

Memos, links, and bookmarks

What you doStep
Write a memoNew Memo
Change a memo’s text, code, tags, or attribute valuesEdit Memo
Delete a memoDelete Memo
Link two passagesNew Link
Change a link’s relation, comment, color, or tagsEdit Link
Delete a linkDelete Link
Bookmark a passageBookmark
Change a bookmark’s comment or colorEdit Bookmark
Remove a bookmarkRemove Bookmark
Bookmark Hits… in a query’s Actions menuBookmark Hits

LemmaLoom replicates your memos, links, and bookmarks in the translations of your documents. Since the copies occur in the same step as the originals, the undo function works on both simultaneously.

Projects and documents

What you doStep
File ▸ New ProjectNew Project
Rename a project, document, group, or setRename
Save in Project Properties, including attributes added or removed thereProject Properties
Save in Document PropertiesDocument Properties
Change a document’s tags in the Details facet of the inspector’s Text tabEdit Tags
Save after editing a document’s textEdit Text
Delete DocumentDelete Document
Delete Documents with several documents selectedDelete Documents
File ▸ New Group, or Move to Group ▸ New GroupNew Group
Move to GroupMove to Group
Delete GroupDelete Group
The trash button (Remove Output) beside an analyzer in Document PropertiesRemove Output
Run for an analyzer whose output you removedRun
Index Now, in Document Properties or the reader’s status bar, for a document imported without indexingIndex Now

File ▸ New Group makes two steps, New Group, followed by Rename when you enter the name and hit Return. To remove the group, use Undo twice, or Undo once if you used the default name because there would then only be one step to undo. Move to Group ▸ New Group and New Set in the sidebar follow the same procedure.

Deletion of the group leaves the documents inside the project, without any grouping. After Undo Delete Group, the documents become part of the re-instated group, with smart set conditions that referred to the group’s name restored.

After undoing Delete Document or Delete Documents, each document gets restored along with its translations and media file (see Deleting documents in Chapter 3, Projects and Documents). All codes whose scope was the document are re-added, and queries saved inside the document, having been moved during deletion to the project level, go back to the document. If there were pending translations scheduled for a document, deleting that document stops that process; after undoing the deletion, start the translation again.

Undo Edit Text restores the prior text, along with every coding, memo, bookmark, and link in the location they were found before. For recordings, timing of transcripts gets restored, as well as alignments for documents containing translations.

For more detail on this topic, refer to Undoing an edit in Chapter 5, Reading and Editing.

Undone changes made in Document Properties affecting the language and/or Exclude from indexing patterns cause indexing to take place. Undo Remove Output does the same, allowing the analyzer to run on the document again. Undo Run causes deletion of the analyzer’s output, while Undo Index Now turns indexing off again for the document (see Choosing analyzers for a document in Chapter 21, Analysis and Indexing).

Sets, tags, and attributes

What you doStep
New Set in the sidebar, or Create Set from Hits in a queryNew Set
Add to SetAdd to Set
Remove from SetRemove from Set
Delete SetDelete Set
New Smart Set, or Save as Smart Set in a queryNew Smart Set
Change a smart set’s conditions with Edit or Project ▸ Edit Smart SetEdit Smart Set
Rename a tag in the Tags window or the sidebarRename Tag
Delete a tag in the Tags window or the sidebarDelete Tag
Add Attribute in the Attributes window, or a new attribute name in the Details facet of the inspector’s Text tabAdd Attribute
Change an attribute’s name, type, choices, or description with Edit, in the Manage menu of the Attributes window or beside a code’s attribute in the code editorEdit Attribute
Move Left or Move Right in the Manage menuMove Attribute
Delete in the Manage menuDelete Attribute
Enter, change, or clear a value, for one document or with Set Value for severalSet Value
Import in the Attributes windowImport Attributes

Undo Delete Set returns not only the set itself, including any condition in case of a smart set, but also every query associated with it as well.

A tag is shared by every project that you’ve got, which means that the actions Rename Tag and Delete Tag affect every project, document, code, memo, link, and condition for a smart set that uses the tag. When undoing Rename Tag, the tag gets its previous name back everywhere it appeared, and a tab open on the tag follows the name back. Undo Delete Tag puts the tag back on everything that carried it, but a tab that closed when you deleted the tag stays closed.

Should an Edit Attribute step involve changes of the attribute type, then undoing it will restore all values converted by LemmaLoom too. An attribute you delete from either Project Properties or the Attributes window returns along with its value everywhere it belonged before deletion. Undo Import Attributes will take back every value the import wrote and every attribute it created.

Queries, dictionaries, and analyzers

What you doStep
Save or Save As… a query, or save a new query as a lensSave Query
Rename… a saved queryRename
Save as Lens… for a saved querySave as Lens
Remove LensRemove Lens
Delete QueryDelete Query
New DictionaryNew Dictionary
Rename a dictionary or a categoryRename
Delete DictionaryDelete Dictionary
Add CategoryAdd Category
Change a category’s colorEdit Category
Delete CategoryDelete Category
Add terms in the Add term field, or with Add to Dictionary in the reader’s selection bar or a query’s Actions menuAdd to Dictionary
Remove termsRemove Term or Remove Terms
Move terms to another category, by dragging them or with Move to CategoryMove Terms
Save for a new analyzer in Window ▸ Analyzers, or Save as Analyzer… in a queryAdd Analyzer
Save for an existing analyzer, or Save as Analyzer… for a query that already has oneEdit Analyzer
Delete an analyzerDelete Analyzer
Update AnalyzerUpdate Analyzer

Any changes you have made to a query via the builder are reflected upon saving the query (refer to Saving queries in Chapter 15, Building a Query). Opening either a saved query or a recipe, or choosing New Query, replaces the current state of your query. Should there have been any changes since your last save, you can retrieve these via Edit ▸ Undo; the Undo item names the query or recipe you opened, or reads Undo New Query. Additionally, selecting Freeze Values on the query’s Actions menu replaces your current query as well. This is undone with Undo Freeze Values regardless of whether the query had any unsaved changes made prior.

Choosing Save as Lens… on a saved query which had unsaved changes will save them first as a separate Save Query step before moving on to saving as a lens; thus undoing twice takes back both.

When changes made to an analyzer’s script or languages, or even its deletion, are undone, the analyzer is rerun against the documents in its languages.

For additional information about analyzers, refer to Chapter 20, Custom Analyzers.

What cannot be undone

Deleting a project

Deleting a project is a final action, and it also removes the steps regarding the project, its documents, or attributes from every window’s history. If you need a backup copy you could restore, export the project first with File ▸ Export ▸ LemmaLoom Project (see Chapter 22, Exchanging and Exporting).

Importing documents

Importing a text file, PDF document, web page, or recording clears most earlier steps for that project from every window once the new document arrives. Steps in other projects stay, and so do changes to custom analyzers.

Suppose you have previously deleted “Carbon Tax Debate” and merged “Deadlines” into “Urgency”, but now you are importing another PDF file into the same project. The deletion of “Carbon Tax Debate” and the merging of “Deadlines” into “Urgency” are irreversible after this import. Reverse whatever steps you wish before importing.

Should you decide to remove the imported document from your project, delete it, and that deletion itself can be undone. For additional details on importing documents, refer to Importing documents in Chapter 4, Importing Material.

To remove what a REFI-QDA project, a LemmaLoom archive, or the example project brought in, delete either the whole project or the documents it added. Two imports are steps you can undo, REFI-QDA Codebook and Import Attributes (see the tables above).

Translating a document

As soon as your translation (see Chapter 9, Translations and Split View) finishes and appears below its source document, LemmaLoom will prune all earlier steps related to your source document from every window’s history. This includes the steps for any codings, links, bookmarks, and attribute values in your original document, as well as any edits and changes made to it.

If you decide that you don’t need a particular translation anymore, delete the translation document like you would any other, and the deletion can be undone.

Changes outside the project

The history stores all modifications done to the content of your projects. The changes listed below take effect immediately upon being made, and you revert these modifications by changing them back:

  • the modifications done via LemmaLoom ▸ Settings…, including the theme choice, appearance settings for the reader, and color customization of lenses;
  • adding or removing projects in Favorites;
  • which tabs are open, which lenses are enabled, which codes are hidden in the reader, the inspector tab, and panes’ dimensions.

Typing in text fields

⌘Z and ⇧⌘Z undo and redo your typing just like in any other macOS program when your cursor is inside a text field, such as the code editor’s Name field, memo text, a name you’re typing in the sidebar, or search bars. Inside the text field, the Edit menu reads Undo Typing. After leaving the field, ⌘Z operates again in LemmaLoom’s history.

Steps occur only upon confirming whatever text you enter. Confirming means clicking Save in a dialog (or hitting Return or clicking elsewhere while naming). Escape while naming, or Cancel within the dialog, cancels out the typing. Commands such as Index Now, Run, and Remove Output in Document Properties take place immediately. Within the Edit Attribute dialog which appears from the code editor, the Save button does too, making everything that went into editing this attribute into a single Edit Attribute step. All these steps stay even if you click Cancel afterwards.

This pattern holds for the document text editor. When making edits, ⌘Z undoes your typing. Hitting Save results in the total edit being an Edit Text step, and Cancel discards it. This is discussed in greater detail in Editing and saving in Chapter 5, Reading and Editing.

The exception to this rule is attribute values, since their fields automatically save whatever value you enter (see Values typed into attribute fields earlier in this chapter).

How long the history lasts

Your history continues until you exit LemmaLoom. If you close your last open window, LemmaLoom will exit. However, closing any window means the end of that window’s history. Upon opening LemmaLoom again, Edit ▸ Undo will remain disabled until something has changed within your current session.

If a document containing a media recording gets deleted, LemmaLoom stores the audio/video recording for future undo purposes. This recording will be permanently deleted on the subsequent startup of LemmaLoom (refer to Where work is stored in Chapter 2, Getting Started).

Commands

CommandShortcutWhere it works
Edit ▸ Undo⌘ZIn any window with a step to undo
Edit ▸ Redo⇧⌘ZAfter an undo, until you make a new change

All the available keyboard shortcuts in LemmaLoom are listed in Chapter 25, Keyboard Shortcuts.

© 2026 Ryan S. Cooper. All rights reserved.