Releases: kkharji/xbase
v0.3.0
🎉 v0.3.0 - 2022-07-09
Features
Use vim.notify
#editor
Support xcworkspace (#101)
#general
....
- When xcworkspace exists, use it instead of xcodeproj when compiling and recompiling projects.
- When xcworkspace exists, build target are passed with
-scheme
flag, so targets and scheme need to have the same name. - speed up tuist setup through compiling the Manifest scheme instead of each target
Bug Fixes
Remove old logging interface
#nvim
....
This errors when the users add no longer supported or invalid configuration key
Refactor
Move out nvim specific logic (#103)
#daemon
....
-
init
-
chore(deps): update xclog and process-stream + refactor
-
ref: setup shared logger
-
ref: remove nvim-rs
-
feat: broadcast server
-
fix(editor): receiving multiple messages at the same time
This just a hack because I couldn't pinpoint why is the client is
receiving a bulk of message separated by newline-
ref(editor): rename BroadcastMessage to Broadcast
-
feat(nvim): setup logger
-
fix: run/build commands
-
ref: logs
-
ref: remove log macros
-
ref: remove log_request
-
ref: remove client type, use root only
-
fix: status line updates
-
ref: rename editor to client
-
fix: watch status
-
feat(nvim): support custom notify
-
feat: respect user log level
-
enh(logger): format
-
fix(tuist): generate compile commands
-
ref: rename neovim to nvim
-
chore: cleanup
-
ref: move make try_register part of register
-
ref(client): register return bool
-
ref: move logging functionality to lua
-
ref: clean up
-
fix: open logger on error
-
feat: append generation logs on error only
-
ref(nvim): move logger buffer mappings to setup
-
fix(nvim): change log buffer change position if already opened
-
feat(nvim): add custom configurations for log_buffer
-
chore: add icon to error messages
-
feat(messages): success level
-
feat: update lsp server on compile files reloaded
-
Switch to tarpc framework
#general
Rename lualib to editor-lib
#general
Relay on json transport only (#115)
#general
....
-
ref: switch to JSON-based socket
-
feat(api): get all runners
-
feat(api): get watchlist and targets with one api call
-
chore(api): operation instead of ops
-
feat(nvim): setup nvim as daemon socket client
-
chore: re-setup tracing for sourcekit-helper
-
fix(nvim): drop command sending roots as nil
-
ref(nvim): just use server.request
-
style(rustfmt)
-
chore(nvim): use table for commands
-
fix(nvim): dropping roots
-
ref: relocate bin files
-
feat(daemon): graceful shutdown
-
fix(nvim): Auto-start daemon
-
fix(nvim): missing out some messages
-
fix(nvim): update statusline
-
ref: general refactor
-
doc: update
-
Enhancement
v0.2.0
🎉 v0.2.0 - 2022-06-22
Features
Always allow provisioning updates
#build
....
Hot fix for an issues I had where I needed to open xcode for updating my
signature
Faster build
#cargo
Generate compile commands without signing
#compile
....
Finally, this will ensure no more errors with regards to provisioning
profile or singing, at least for auto complaining
Respect gitignore
#daemon
....
previously it was required to set custom paths to ignore in project.yml,
now extra ignored path reads from gitignore instead.
Clear state on .compile change
#sourcekit
....
Doesn't seem critical now that the sourcekit lsp server is reloaded on compile.
Init dependabot
#general
Make xcodeproj source of truth (#80)
#general
....
- feat(daemon): switch to reading from xcodeproj only
- ref(daemon): remove xcodegen project types
- ref: remove xcodegen.rs
- feat(lua): identity xcodeproj on setup
- fix(compile): error while removing non-existing cache
- chore(readme): requirements
- ref: use platform target method instead of sdkroots
- ref: use xcodeproj new api
- chore(deps): bump wax dependency
- chore: update readme
Support tuist (#91)
#general
....
- feat(tuist): support regeneration
- feat(project): support generating xcodeproj when absent
- feat(compile): append xcodeproj generation logs
- ref(compile): check for xcodeproj before trying to generate it
- feat(tuist): generate both project and manifest xcodeproj
- feat(tuist): generate compile commands for both project and manifest
- feat(nvim): update status variable when watch is running
- ref(project): decompose and specialize
- feat(tuist): lsp support for tuist files
- chore(readme): update
- ref: make main binary named xbase
- feat(tuist): recompile on config files change
- fix(xcodegen): ignoring existing xcodeproj
- fix(compile): on file rename
Support swift projects (#97)
#general
....
- feat(swift): initial support
closes #66 - ref(daemon): abstract run logic
- feat(swift): run project
- fix(swift): logger
- chore(readme): update
- chore(ci): update ci command
- feat(swift): ignore tests target for build and run
- feat(swift): initial support
Bug Fixes
Incorrect paths to binaries
#daemon
....
CARGO_MANIFEST_DIR unfortunately points to package root instead of
workspace root
Crashing on multiline message nvim print
#daemon
....
only print the first line and the rest redirect to log buffer
Avoid adding extra `/`
#gitignore
Avoid duplicating **
#gitignore
Fix simulator latency
#logging
Xclog is not defined
#lua
Xcodegen binary not found
#general
Refactor
Update logging and compile commands (xclog) (#70)
#general
....
Separate concerns + contribution guidelines (#76)
#general
....
- ref: extract tracing setup to lib/tracing
- ref: extract build server to sourcekit crate
- ref: extract lib and daemon
- ref(daemon): use xbase_proto
- ref: flatten structure
- feat: contributing guidelines
- chore: update readme
Remove crossbeam-channel crate
#general
Move project/device module to root
#general
Ci
Build, install and format
#general
v0.1.2
v0.1.1
[0.1.1] - 2022-05-30
Features
Bug Fixes
(Logger)
Incorrect title for build once requests(Logger)
Force scroll
Refactor
(Logger)
Append logger title to all msgs(Logger)
Print exit code
Enhancement
(Logger)
Output readability and traceability
v0.1.0
[0.1.0] - 2022-05-26
Features
(Build)
Pretty print(Compile)
Generate compile flags for files(Compile)
Use xcodebuild crate(Compile)
Panic when compiled commands is empty(Config)
Support custom ignore patterns(Core)
Setup watcher(Core)
Ignore more directories from watcher(Core)
Support watching renames and fix duplicated events(Core)
Regenerate .xcodeproj on directory change(Core)
Ignore files/directories in .gitignore(Core)
Watcher ignore buildServer.json(Core)
Generate compile commands on dir change(Core)
Abstract everything in core(Core)
Customize root based on target and configuration(Daemon)
Build configuration(Daemon)
List devices and pick device to run(Daemon)
Auto-close old processes(Daemon)
Ensure new projects server support(Error)
Support server errors(Install)
Setup installation with make install(Nvim)
Log generating compile database on nvim(Nvim)
Get project info(Nvim)
Auto update state project(Nvim)
Build and append log to nvim buffer(Nvim)
Control what direction to open log buf(Nvim)
More descriptive serialize error(Nvim)
Basic highlighting of xcodebuild logs(Nvim)
Log buffer auto-scroll and keep focus(Nvim)
Command_plate(Nvim)
Multi picker(Nvim)
Support picker buffer direction(Nvim)
Only present device runners for given platform only(Nvim)
Try to minimize effect on startup(Nvim)
Mappings configuration(Nvim)
Toggle log buffer(Run)
Run project from neovim(Run)
Macos app and in buffer logging(Run)
Run and watch for changes(Runner)
Log simctl app outputs like print(Runner)
Ensure Simulator app is running(Server)
Setup(Server)
Handle errors(Watch)
Rebuild project on file modification(Watch)
Stop watch build/run service for dropped client(Watch)
Update statusline + feline provider(Workspace)
Auto generate .compile when absent(General)
Unregister client on nvim exist + drop workspace(General)
Retry xcodegen at least three times.(General)
Make code a bit more safe (no unwraps)(General)
Multi target watcher
Bug Fixes
(Build)
Remove pseudocode(Build)
Stream some time doesn't produce Build success(Core)
On project.yml write, xcodegen errors(Core)
XcodeGen couldn’t be copied to “demo”(Daemon)
Project update clear project root(Daemon)
Auto-start(Logger)
Redundant window open(Nvim)
Daemon commands(Recompile)
Not skipping file modifications(Run)
Running wrong correct output(Run)
Stop watch service(Runner)
Simctl runner(Server)
Sourcekit panic from swift-frontend compiled command(Xcodebuild)
Ignoring build failure(General)
Recognize project.yml update
Refactor
(Build)
Include watch option instead of special request(Compile)
Use Pathbuf instead of String(Core)
Move tracing install to util(Core)
Rename server to daemon(Core)
Use const for command string name(Core)
Use try_into instead of new(Core)
Extract code to xcodegen module(Core)
Clean up(Core)
No objects for stateless functions(Core)
Restructure(Daemon)
Move state to daemon module(Daemon)
Organization(Daemon)
Resuse serde and lua for serialization(Daemon)
Point to project nvim script method(Daemon)
Remove project_info request(Daemon)
Nvim logger(Daemon)
Improve nvim.logger interface(Daemon)
Always include address in Client(Daemon)
Move runner related code to new module(Daemon)
Switch to process-stream(Daemon)
Abstract some logic in Client struct(Drop)
Remove debug code(Logger)
Log and trace at the same time(Logger)
Don't require win to be passed around(Logger)
Initialization arguments(Nvim)
Echo instead of log for success(Project)
Make config optional(Runner)
Merge into one file(Runner)
Rewrite and update simctl runner and log format(Runner)
Simplify api(Runner)
Better architecture(Server)
<a hre...