Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v6.3 #849

Merged
merged 154 commits into from
Sep 18, 2024
Merged

v6.3 #849

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
154 commits
Select commit Hold shift + click to select a range
ab50186
deprecate `tread` & `@[`
lmorg Jul 23, 2024
2dee45e
deprecate `@[`
lmorg Jul 24, 2024
285f2df
Merge branch 'develop' of github.com:lmorg/murex into develop
lmorg Jul 29, 2024
0c54d3b
#840 `~` should fail if username not found
lmorg Jul 30, 2024
e98d2d5
removed reference to deprecated function @[]
lmorg Jul 31, 2024
7ede977
Merge branch 'website' into develop
lmorg Jul 31, 2024
ea26552
config: dynamic errors better surfaced + tests
lmorg Jul 31, 2024
c1288a8
new builtin: `~>`
lmorg Aug 1, 2024
cb1d58e
#850 nil pointer error in `alter --merge`
lmorg Aug 1, 2024
ae8ac32
#850 alter: fix failing test
lmorg Aug 1, 2024
bb27a0f
integration: systemctl auto-completion
lmorg Aug 1, 2024
9ccefb5
website: remove reference to autoglob
lmorg Aug 1, 2024
fcee7a2
bugfix: terminal hangs if <stdin> is term && <!out>
lmorg Aug 1, 2024
bb17740
Merge branch 'develop' of github.com:lmorg/murex into develop
lmorg Aug 1, 2024
0c5ff13
integration: remove deprecated `?` from git completion
lmorg Aug 3, 2024
68b49a2
count: added support for `--bytes` & `--runes`
lmorg Aug 3, 2024
51afc6a
#834 sub-expression support inside object and array builders
lmorg Aug 3, 2024
58d7e64
#853 sub-shell scalars should return objects inside object builders
lmorg Aug 4, 2024
d457996
docs: updated scalar docs
lmorg Aug 4, 2024
c2f530b
core: add additional array builder tests
lmorg Aug 4, 2024
b79c50f
integrations: systemctl should use improved sub-shell inlining
lmorg Aug 4, 2024
7a3a6c4
test: correct deprecated tests
lmorg Aug 4, 2024
8cd373d
fix systemctl integration
lmorg Aug 4, 2024
830abd6
#830 parenthesis can assign to variable values
lmorg Aug 4, 2024
57315ac
#830 fix regression with bareword assignment
lmorg Aug 6, 2024
9d02b4c
core: merge op + minor validator refactor
lmorg Aug 10, 2024
9a57ad1
docs: immutable merge
lmorg Aug 10, 2024
f3ad4f1
website: updated landing page
lmorg Aug 10, 2024
5420373
website: updated landing page
lmorg Aug 10, 2024
c1ffcb1
core: deprecate backtick, improvements to expr validation logic
lmorg Aug 11, 2024
f934413
tests: comment out expr07 tests that are broken from improved expr va…
lmorg Aug 11, 2024
5de8f99
Merge branch 'website' into develop
lmorg Aug 11, 2024
208ee9a
docs: tour
lmorg Aug 11, 2024
acb09b0
builtin: `for` syntax changed
lmorg Aug 11, 2024
25c29dc
#854 core bugfix: statements as expressions when 1st param `=`
lmorg Aug 11, 2024
cd69d9d
expressions: plus plus
lmorg Aug 14, 2024
3f9d2a9
docs: plus plus
lmorg Aug 15, 2024
266a661
Merge branch 'website' into develop
lmorg Aug 15, 2024
d292f0b
expressions: assignment add should reuse other assignment number ops
lmorg Aug 15, 2024
022166f
expressions: minus minus
lmorg Aug 16, 2024
ac56e69
new builtin: mjoin
lmorg Aug 16, 2024
1ddd89b
new alias: `list.count`
lmorg Aug 16, 2024
e026048
new example: dictionary api
lmorg Aug 16, 2024
911e985
#858 escape aliases
lmorg Aug 17, 2024
8b7f48c
remove support for string concatenation via `+=`
lmorg Aug 17, 2024
c1d2704
#670 new builtin: `list.case`
lmorg Aug 17, 2024
2e92e02
fix broken urls
tiymat Aug 17, 2024
357070f
deprecated builtin: `die`
lmorg Aug 18, 2024
5056dcb
alias `list.string` renamed to `list.match`
lmorg Aug 19, 2024
ce19e61
builtin refactor: `sys.` builtins
lmorg Aug 19, 2024
e165e0e
Merge pull request #859 from tiymat/develop
lmorg Aug 20, 2024
7a253d6
updated docs + aliases
lmorg Aug 20, 2024
167ee2e
Merge branch 'develop' of github.com:lmorg/murex into develop
lmorg Aug 20, 2024
4922e76
ci: remove codeql (it sucks)
lmorg Aug 20, 2024
6fac523
rewrite of system forking
lmorg Aug 24, 2024
d3f42ce
bespoke UNIX code to manage foreground pids
lmorg Aug 25, 2024
dcec574
refactor signal handler
lmorg Aug 25, 2024
284d83c
forcetty gid fix + helix integration
lmorg Aug 25, 2024
753ceb1
pgid enabled by default for all system processes
lmorg Aug 25, 2024
d194848
add branch name to app version
lmorg Aug 25, 2024
757f1ef
disable syscall error when not in debug mode
lmorg Aug 25, 2024
b4c0742
fix app_text test
lmorg Aug 25, 2024
4b901c7
add `docgen` to go generate
lmorg Aug 25, 2024
7003e02
re-introduce `pid` var named pipe
lmorg Aug 26, 2024
31ec3ce
make pid named pipe a blocking call
lmorg Aug 26, 2024
7714806
exec: don't force-tty by default
lmorg Aug 26, 2024
867e5db
ci: add app.go to pre-commit hook
lmorg Aug 26, 2024
f25d723
exec: remove tty signals & syscalls from regular fork
lmorg Aug 26, 2024
63b9acb
#866 ignore panics in vim keys
lmorg Aug 26, 2024
bcdbd60
#860 alias namespaces
lmorg Aug 27, 2024
8bb0ed5
#860 first draft of builtin namespacing convention
lmorg Aug 28, 2024
f4cfa57
#860 updated doc titles
lmorg Aug 29, 2024
8ac4d40
#860 document titles
lmorg Aug 30, 2024
8ff829d
docgen: add subcats
lmorg Aug 31, 2024
20e4158
docgen: support for vuepress json menus
lmorg Aug 31, 2024
d63d8fa
docgen: vue menu tweaks
lmorg Aug 31, 2024
2efb24c
docgen: vue icons
lmorg Aug 31, 2024
ccb7287
docgen: vue icons
lmorg Aug 31, 2024
8327f45
website: update docs
lmorg Aug 31, 2024
7da9f97
gen: updated json
lmorg Aug 31, 2024
998671c
#863 job-control: helix-editor ^Z in macOS iTerm2
lmorg Sep 1, 2024
c73f53f
job-control: move session into its own package #863
lmorg Sep 1, 2024
2cc515a
docgen: sort Documents
lmorg Sep 1, 2024
c62b1c2
debug: support for io.writer
lmorg Sep 1, 2024
b37820f
version: datetime added
lmorg Sep 1, 2024
65dbc71
remove deprecated instances of `=` from linux profile
lmorg Sep 1, 2024
c798b99
tidy up debugging
lmorg Sep 1, 2024
3697411
add logfile to gitignore
lmorg Sep 1, 2024
5a8fa6d
wip: session reporting + pty
lmorg Sep 2, 2024
be9aa40
website: missing titles on two docs
lmorg Sep 2, 2024
c7c28af
stringer compile to go generate + non-unix signals
lmorg Sep 2, 2024
d796354
version: new flags
lmorg Sep 4, 2024
04a651d
flags: MUREX_DEBUG
lmorg Sep 4, 2024
ace0985
#863 job-control: session now works for most macOS instances
lmorg Sep 4, 2024
d5c8e1e
version: fix version builtin test
lmorg Sep 4, 2024
6b8c1f0
regexp: `M/` matches & includes heading
lmorg Sep 4, 2024
ec8a27b
integration: orbstack
lmorg Sep 4, 2024
ded09cb
`regexp`: support for headings & unicode separators
lmorg Sep 5, 2024
382e72f
job-control: session archive before code removal
lmorg Sep 5, 2024
3514e8b
#863 job-control: --setsid flag
lmorg Sep 8, 2024
66b5919
#863 job-control: added --execute flag + helix ^z support
lmorg Sep 8, 2024
710d3d8
chore: remove commented dead code
lmorg Sep 8, 2024
5e1f252
chore: rename execFork
lmorg Sep 8, 2024
33abba1
syscall->unix package for process IDs
lmorg Sep 8, 2024
a15d882
#863 job-control: failing wasm build
lmorg Sep 8, 2024
8d46015
ci: support for go1.23
lmorg Sep 8, 2024
b97931e
#863 helix ^z support limited to darwin
lmorg Sep 9, 2024
a2d2c96
job-control: minor code tidy up
lmorg Sep 10, 2024
0d70cf1
website: new opengraph image
lmorg Sep 11, 2024
f03c8d3
website: og:description added for landing page and language tour
lmorg Sep 11, 2024
6917d1c
website: description added for all other pages
lmorg Sep 11, 2024
1e29839
website: description / summary bugfix
lmorg Sep 12, 2024
1581961
website: description / summary bugfix
lmorg Sep 12, 2024
4964a2d
website: description / summary bugfix
lmorg Sep 12, 2024
3dc4b80
website: description quoting bugfix
lmorg Sep 12, 2024
9cddc80
website: frontmatter bugfix
lmorg Sep 12, 2024
92ec40e
website: restore missing page icons
lmorg Sep 12, 2024
6ccc811
website: restore missing page icons (correctly)
lmorg Sep 12, 2024
830b547
website: updated titles
lmorg Sep 12, 2024
f458a76
website: contribute page error
lmorg Sep 12, 2024
f44e88c
website: compatibility debug
lmorg Sep 12, 2024
64e8be9
website: default document icons
lmorg Sep 12, 2024
95338b1
website: icon override
lmorg Sep 12, 2024
7e43dc2
Merge branch 'develop' into 863/job-control
lmorg Sep 12, 2024
4d7c8f4
Merge pull request #865 from lmorg/863/job-control
lmorg Sep 12, 2024
1682451
Merge branch 'develop' of github.com:lmorg/murex into develop
lmorg Sep 12, 2024
94126d7
post merge fix up
lmorg Sep 12, 2024
d0f3063
job-control: check for stop state
lmorg Sep 13, 2024
1b852fa
wip: execute as
lmorg Sep 13, 2024
fd2e0e8
resolve merge conflicts
lmorg Sep 13, 2024
b268545
#863 job-control: rewrite working on macOS
lmorg Sep 13, 2024
4003776
#863 job-control working on Linux
lmorg Sep 13, 2024
fb7b795
#863 job-control: clean up
lmorg Sep 13, 2024
2bf6817
website: use folders instead of arrows
lmorg Sep 15, 2024
c26ee3a
add *_local.* to git ignore
lmorg Sep 15, 2024
819f973
missing release after os.FindProcess
lmorg Sep 15, 2024
320af57
website: experimenting with tags
lmorg Sep 15, 2024
caf99ae
website: update templates
lmorg Sep 15, 2024
315d73c
website: update templates
lmorg Sep 15, 2024
2e89084
website: update templates
lmorg Sep 15, 2024
93a105d
website: menu names and icons
lmorg Sep 15, 2024
faccb7a
website: menu names and icons
lmorg Sep 15, 2024
043534e
website: menu names and icons
lmorg Sep 15, 2024
8b89d96
website: subcategories for variables
lmorg Sep 15, 2024
54d1e5e
website: integrations readme
lmorg Sep 15, 2024
36e2510
website: add summaries + rewrite types cat
lmorg Sep 15, 2024
ba86fa4
websote: fix typos
lmorg Sep 15, 2024
d5c09be
website: vue index page
lmorg Sep 15, 2024
ffbe8b9
#873 POSIX variables + docs
lmorg Sep 17, 2024
f6e6a25
#874 trim whitespace when converting strings to numbers
lmorg Sep 17, 2024
1fc61e4
website: tags
lmorg Sep 17, 2024
028d581
website: update templates + variable landing page
lmorg Sep 18, 2024
1ea3f25
Add changelog
lmorg Sep 18, 2024
5f826a3
#868 readline: display 'terminal too small error' in preview
lmorg Sep 18, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/workflows/clean-build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
go-version: [ "1.20", "1.21", "1.22" ]
go-version: [ "1.20", "1.21", "1.22", "1.23" ]

steps:
- name: Setup Go ${{ matrix.go-version }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/code-coverage.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
go-version: [ "1.22" ]
go-version: [ "1.23" ]
env:
MUREX_TEST_NO_EXEC_DEPS: true
steps:
Expand Down
94 changes: 0 additions & 94 deletions .github/workflows/codeql.yml

This file was deleted.

2 changes: 1 addition & 1 deletion .github/workflows/deploy-dev-docs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
go-version: [ "1.22" ]
go-version: [ "1.23" ]

steps:
- name: Checkout
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/deploy-docs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
go-version: [ "1.22" ]
go-version: [ "1.23" ]

steps:
- name: Checkout
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/murex-downloads.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ on:
workflow_dispatch:

env:
GO_VERSION: "1.21"
GO_VERSION: "1.23"

jobs:
Build-Downloads:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/murex-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
go-version: [ '1.20', '1.21', '1.22' ]
go-version: [ '1.20', '1.21', '1.22', "1.23" ]
env:
MUREX_BUILD_FLAGS: --no-colour
MUREX_TEST_NO_EXEC_DEPS: true
Expand Down
8 changes: 6 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ murex.exe
murex.upx
/docgen
/docgen.exe
/stringer
/stringer.exe
bin/
VERSION
deleteme.db
Expand All @@ -23,12 +25,15 @@ wasm_exec.js
# optional builtins
/builtins/imports_build

# test working directories
# test and debugging files
/deleteme
/test/tmp
*.test
*.prof
*.pprof
*local.*

debug.log

# IDE
.idea/
Expand All @@ -41,7 +46,6 @@ murex.iml
/vendor.new
/pkg
/src
/gen/docs-test/

# Misc
.DS_Store
Expand Down
25 changes: 16 additions & 9 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<h1>Contributing to Murex</h1>

Murex is community project. We gratefully accept contributions.
<h1>How To Contribute</h1>

> Murex is community project. We gratefully accept contributions

<h2>Table of Contents</h2>

Expand Down Expand Up @@ -38,11 +39,17 @@ please do raise a pull request.
All documentation is written in markdown. Even the website is HTML generated
from the original markdown documents. And all markdown documents are themselves
generated from files with the extension `_doc.yaml`. These template files are
the backbone of the documentation's pseudo-CMS.
the backbone of the documentation's static site CMS.

Each generated markdown file has a footer with a link to the YAML file that it
was generated from.

You can compile the markdown files by running `go generate` from the root of
the project directory:

If you are unsure where to find a document, you can either `grep` the source
repository for a known phrase, or ask in the [Github discussions](https://github.com/lmorg/murex/discussions)
group.
```
go generate ./...
```

### Writing Integrations

Expand All @@ -56,7 +63,7 @@ aliases or functions defined.
One of the core tenets of Murex is that it's out-of-the-box experience should
already be excellent and any customization that happens after is for
personalization rather than because the default experience is lacking in some
way. So Murex has made it very easy for you to contribute.
way. So Murex has made it very easy for you to contribute:

In the root of the project resides the [integrations directory](https://github.com/lmorg/murex/tree/master/integrations).
Each file in there is compiled into Murex, assuming the following condition is
Expand All @@ -81,8 +88,8 @@ These can be raised on our [Github issue tracker](github.com/lmorg/murex/issues)
### Committing Code

Murex is written in a language called Go. Not a lot of Murex's code is well
documented however that was is document can be found in the [API section](/docs/apis) of the
user guide.
documented however the stuff that has been documented can be found in the
[API section](/docs/apis) of the user guide.

### Blogging

Expand Down
13 changes: 8 additions & 5 deletions DOWNLOAD.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
<h1>Download Murex</h1>

<h1>Download Links</h1>

[![Version](version.svg)](DOWNLOAD.md)

Expand All @@ -25,9 +26,11 @@

## Download Links

Below are the instructions to download a pre-compiled binary via HTTPS. If you
wish to install from source or use your preferred package manager, then please
refer to the [INSTALL](INSTALL.md) page for further instructions.
Below are the instructions to download a pre-compiled binary via HTTPS.

If you wish to install from source or use your preferred package manager, then
please refer to the [INSTALL](INSTALL.md)
page for further instructions.

### Darwin (macOS)

Expand Down Expand Up @@ -160,7 +163,7 @@ following site: [docs.microsoft.com/en-us/windows/wsl/install-win10](https://doc
* [Compatibility Commitment](/compatibility.md):
Murex is committed to excellent backwards compatibility
* [Install](/INSTALL.md):
Installation instructions
Installation Instructions
* [Supported Platforms](docs//supported-platforms.md):
Operating systems and CPU architectures supported by Murex

Expand Down
5 changes: 3 additions & 2 deletions INSTALL.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
<h1>Install Murex</h1>

<h1>Install</h1>

<h2>Table of Contents</h2>

Expand Down Expand Up @@ -134,7 +135,7 @@ pretty well. So the overall experience is a clean and readable terminal.

* [Compatibility Commitment](/compatibility.md):
Murex is committed to excellent backwards compatibility
* [Download](/DOWNLOAD.md):
* [Download Links](/DOWNLOAD.md):
Murex download links
* [Supported Platforms](docs//supported-platforms.md):
Operating systems and CPU architectures supported by Murex
Expand Down
35 changes: 17 additions & 18 deletions app/app.go
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
//go:generate ./update-version.mx

package app

import (
Expand All @@ -10,36 +12,33 @@ import (
const Name = "murex"

// Version number of $SHELL
// Format of version string should be "(major).(minor).(revision) DESCRIPTION"
// Format of version string should be "$(Major).$(Minor).$(Revision) ($Branch)"
const (
version = "%d.%d.%d"
Major = 6
Minor = 2
Revision = 4000
Major = 6
Minor = 3
Revision = 4221
Branch = "develop"
BuildDate = "2024-09-18 21:37:02"
)

// Copyright is the copyright owner string
const Copyright = "© 2018-2024 Laurence Morgan"
const Copyright = "2018-2024 Laurence Morgan"

// License is the projects software license
const License = "License GPL v2"
const License = "GPL v2"

// ShellModule is the name of the module that REPL code gets imported into
var ShellModule = Name + "/shell"
var licenseFull string

func init() {
v = fmt.Sprintf(version, Major, Minor, Revision)
sv, _ = semver.Parse(v)
}
func GetLicenseFull() string { return licenseFull }
func SetLicenseFull(s string) { licenseFull = s }

var v string
// ShellModule is the name of the module that REPL code gets imported into
var ShellModule = Name + "/shell"

func Version() string {
return v
return fmt.Sprintf("%d.%d.%04d (%s)", Major, Minor, Revision, Branch)
}

var sv *semver.Version

func Semver() *semver.Version {
return sv
return &semver.Version{Major, Minor, Revision}
}
Loading
Loading