Kami0.5
- Changes
- 45
- Areas
- 6
- Since 0.4
- 4 days
A table editor for PostgreSQL and MySQL, several consoles per data source, Git in the editor’s menu, tabs that drag between splits, and Less.
Highlights
- Table editor
- Create, modify and drop PostgreSQL and MySQL tables from a dialog that shows the exact SQL it will run before you apply it.
- Multiple consoles per database
- Open as many console tabs as you like for each data source, and switch sources without closing anything.
- Git in the editor menu
- A new Git submenu on the editor’s right-click menu shows a file’s or selection’s history, compares it with any revision, branch or tag, and rolls back changes.
- Drag tabs between splits
- Drop a tab into another pane’s tab strip to move it, or onto a pane’s edge to split there.
- Less support
.lessfiles and Vue<style lang="less">blocks get their own grammar, highlighting and comments.
Editor
6 changes- Format on save is now off by default, so
⌘Sonly saves and⌥⌘Lformats. Turn it back on in Settings ▸ Editor. - Editor tabs show a close button on hover.
- Drag a tab into another pane’s tab strip to move it there, or onto a pane’s edge to create a split with it. Dropping a file onto a pane that already has it open switches to that tab instead of adding a second one.
⇧⌘Ncreates a new scratch file. A language picker sets its file type, and scratch files are stored globally so they are shared across projects. Also in the File menu.- The gutter change popup has been restyled with larger, color-coded Rollback, Show Diff and Commit buttons with tooltips. It opens below the change, and the removed-line preview highlights only the word that changed.
- The fold chevrons in the gutter are bigger.
Languages and highlighting
7 changes- Less is its own language, with its own grammar and highlighting.
.lessfiles open with syntax colors,//line comments and a 2-space indent, and⌘/works in them. - Vue
<style lang="less">blocks are highlighted as Less. - Less
@variablesget their own color. - PHP templates color the HTML around their
<?php … ?>code, including markup that spans loops and conditionals. .gitmodulesfiles are highlighted.- Doc comments such as JSDoc
/** … */blocks are grey like other comments, with tags slightly emphasized. - Code the parser can’t make sense of is no longer colored in fragments, which used to recolor parts of words after a syntax error.
Git
8 changes- A Git submenu on the editor’s right-click menu: Show History, Show History for Selection…, Show Current Revision, Compare with Revision…, Compare with Branch or Tag…, and Rollback…. It works on files inside submodules too.
- History for a selection opens the Git view with only the commits that touched those lines. A banner shows the active filter and clears it.
- Rollback… opens the file’s diff in the Git view with the rollback ready to confirm.
- The Git view opens a tab for every submodule automatically. A tab you close stays closed across restarts, and uninitialized submodules are skipped.
- The Submodules section in the sidebar starts expanded. The first submodule’s commit hash is no longer missing a character.
- The status icons and stage, unstage and discard buttons on Git view file rows are bigger.
- Click the branch name in the titlebar to open the branch picker.
- The file tree colors files by git status, like tabs and the palette.
Database view
17 changes- New Table… on a schema’s right-click menu, and Modify Table… and Drop Table… on a table’s, for Postgres and MySQL.
- The table dialog has a tree of columns, primary key, indexes and foreign keys, with a property grid for whatever is selected: a column’s name, type, nullability, default, auto-increment and comment; an index’s columns and uniqueness; a foreign key’s columns, referenced table and columns, and ON DELETE/ON UPDATE actions. The table’s name and comment can also be edited.
- Add, remove, duplicate and reorder columns from the dialog’s toolbar. Toggle columns in and out of the primary key, and add or remove indexes and foreign keys.
- A live SQL preview shows the statements your edits will run. Renaming or removing a column updates the keys, indexes and foreign keys that refer to it.
- In the table dialog, arrow keys move through the tree,
⌥↑/⌥↓reorder the selected column, andEsccancels. - Applying runs the changes in one transaction where the database allows it, and asks first when a change is destructive. On success the dialog closes and the explorer refreshes. If only part of the change goes through, the dialog shows what ran and can open the rest in a new console.
- Drop Table… shows the actual DROP statement before you confirm.
- Read-only sources open the table dialog without a way to apply changes.
- Each data source can have several console tabs:
+opens a new one, and closing the last tab offers to reopen the source’s console. - Switching sources keeps every console and its connection open in the background. Each console tab keeps its own results.
- Background consoles autosave when idle, following the autosave setting.
- A console opens automatically the first time you open the Database view.
- Opening a table’s data no longer writes its SELECT into the console.
- A filter bar above a table’s data takes WHERE and ORDER BY clauses and re-runs the query with them.
- Click a column header in the results grid to sort by it. A partial result is fetched in full before sorting.
- A console’s
.sqlfile opened in the editor shows a banner to jump back to the Database view. - Two data sources with the same name no longer share or close each other’s consoles.
App
1 change- Icon-only buttons have hover tooltips, including the titlebar’s Editor/Git/Database switcher, the debugger controls, the debugger’s watch list, the recent-projects list, and the settings number steppers.