Compare commits

...

2 Commits

Author SHA1 Message Date
ed5f424eb0 [keel] Add missing new line to log message
All checks were successful
Build / build (push) Successful in 1m28s
2025-03-24 20:44:33 -05:00
a44c5acc4b [studio] Fix closing tab with unsaved changes 2025-03-24 20:43:34 -05:00
3 changed files with 32 additions and 1 deletions

30
deps/buildcore/scripts/file-to-cpp.py vendored Executable file
View File

@ -0,0 +1,30 @@
#! /usr/bin/env python3
#
# Copyright 2016 - 2025 gary@drinkingtea.net
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
import argparse
import sys
def main() -> int:
parser = argparse.ArgumentParser()
parser.add_argument('--file', help='path to file')
parser.add_argument('--out-cpp', help='path to output cpp file')
parser.add_argument('--out-hpp', help='path to output hpp file')
parser.add_argument('--namespace', help='path to output hpp file')
args = parser.parse_args()
return 0
if __name__ == '__main__':
try:
err = main()
sys.exit(err)
except KeyboardInterrupt:
sys.exit(1)

View File

@ -68,7 +68,7 @@ constexpr auto makeLoader(Context &ctx) {
if (!beginsWith(assetId, "/")) {
auto const p = ctx.uuidToPath.at(assetId);
if (p.error) {
oxErrf("Could not find asset: {}", assetId);
oxErrf("Could not find asset: {}\n", assetId);
return ox::Error{1, "Asset ID not found"};
}
assetId = *p.value;

View File

@ -254,6 +254,7 @@ void StudioUI::drawTabs() noexcept {
if (!open) {
if (e->unsavedChanges()) {
m_closeFileConfirm.open();
++it;
} else {
e->close();
if (m_activeEditor == (*it).get()) {