Nasal Namespace Browser
| The FlightGear forum has a subforum related to: Nasal Scripting |
| Nasal scripting |
|---|
| Nasal internals |
|---|
| Memory Management (GC) |
The Nasal Namespace Browser is an addon that allows the user to peek at the internal state of Nasal (starting from the global namespace). It displays an alphabetical list of keys mapped to values using the Canvas framework. Hashes and vectors are shown as their size and can be entered into via clicking on them; scalars' complete values are shown while ghosts and other types and represented in brackets.
The source code repository is here.
Installation
|
|
The Nasal Namespace Browser is a manually installed add-on.
On the top bar:
- [<] – back button, returns to the previous namespace.
- [Refresh] – refreshes the current namespace.
- [Filters...] – open new window with filters and sort options.
- [Search...] – a text field where you can enter a namespace name or value to find it. Press Enter to confirm your entry. To search for the next occurrence, press Enter again. The search text ignores case. The found occurrence will be highlighted in red.
On the list:
- [>] – "go inside" button, if the item is a hash or vector, and has more keys/elements than 0, we can see what's inside.
Keys
- Up/Down – scroll the content by 1/20 visible screen.
- PageUp/PageDown – scroll the content by one visible screen.
- Esc – close the window.
Features
1. Items are sorted by name.
2. Vectors are displayed as [] along with the number of elements. If the vector has any elements, a [>] button is provided to go inside.
3. Hashes are displayed as {} along with the number of keys. If the hash has any keys, a [>] button is provided to go inside. If the hash is a props.Node object, additional information about it will be displayed, along with the node value, e.g.: props.Node value = 2.
4. String values are displayed in double quotes, numeric values are displayed as a number without quotes.
5. Ghost objects (coming from C++) are displayed as <ghost {type}> where {type} is the ghost type, e.g. Timer, prop, canvas.Widget, airport, etc.
6. Functions are marked as <func>.
7. Ability to filter displayed items by type: func, ghost, hash, nil, scalar and vector.
8. Ability to sort items by type: func, ghost, hash, nil, scalar and vector.
9. Ability to search for an element by entering any text.
History
It was originally created by user Philosopher in 2014. Since 2025, the Nasal Browser project has been revived and is now maintained by PlayeRom as a standalone addon, and is updated for compatibility with modern FlightGear versions.