1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 15:07:45 +00:00
Commit graph

617 commits

Author SHA1 Message Date
marprok
bc10e0eeb2 Userland: Correction in the the copyright
Change the date in the copyright.
2020-03-11 10:12:36 +01:00
Andreas Kling
70a3e738f5 js: Make it a little easier to add new AST builder functions 2020-03-09 21:58:27 +01:00
Andreas Kling
ad401ca098 js: Add another little test AST to exercise marking of locals 2020-03-09 21:49:20 +01:00
Andreas Kling
1382dbc5e1 LibJS: Add basic support for (scoped) variables
It's now possible to assign expressions to variables. The variables are
put into the current scope of the interpreter.

Variable lookup follows the scope chain, ending in the global object.
2020-03-09 21:49:20 +01:00
Shannon Booth
28731179b1 Userland: Use ArgParser in stat and support multiple files + links
The '-L' option can be used for calling stat instead of lstat
2020-03-09 12:37:49 +01:00
Mr.doob
4dee1ec0be
js: Fixed program comment (#1391) 2020-03-09 07:33:39 +01:00
Andreas Kling
d9126b1ad5 js: Exercise the garbage collector a little bit 2020-03-08 19:59:59 +01:00
Andreas Kling
37fc6c117c Userspace: Add missing #includes now that AK/StdLibExtras.h is smaller 2020-03-08 13:06:51 +01:00
Andreas Kling
b1058b33fb AK: Add global FlatPtr typedef. It's u32 or u64, based on sizeof(void*)
Use this instead of uintptr_t throughout the codebase. This makes it
possible to pass a FlatPtr to something that has u32 and u64 overloads.
2020-03-08 13:06:51 +01:00
Andreas Kling
f5476be702 LibJS: Start building a JavaScript engine for SerenityOS :^)
I always tell people to start building things by working on the thing
that seems the most interesting right now. The most interesting thing
here was an AST + simple interpreter, so that's where we start!

There is no lexer or parser yet, we build an AST directly and then
execute it in the interpreter, producing a return value.

This seems like the start of something interesting. :^)
2020-03-07 19:42:11 +01:00
Andreas Kling
830a57c6b2 LibWeb: Rename directory LibHTML => LibWeb
Let's rename this to LibWeb since it aims to provide more parts of the
web platform than just HTML. :^)
2020-03-07 10:32:51 +01:00
Andreas Kling
7a6c4a72d5 LibWeb: Move everything into the Web namespace 2020-03-07 10:27:02 +01:00
Shannon Booth
57f1c919df LibCore: Remove all remaining C prefix references
LibCore's GZip is also moved into the Core namespace with this change.
2020-03-07 01:33:53 +01:00
Shannon Booth
d7cfe61fe4 Userland: Use ArgsParser in crash 2020-03-06 22:46:17 +01:00
Liav A
259ead5d7a Userland: Replace lsinterrupts with lsirq
Also, lsirq will return more useful data than lsinterrupts did
2020-03-06 11:19:51 +01:00
howar6hill
fb09b6a8ce Userland: Add du program 2020-03-04 18:06:17 +01:00
Andreas Kling
0f3e57a6fb LibGUI: Use GUI::Window::set_main_widget<WidgetType>() in clients 2020-03-04 14:26:16 +01:00
marprok
86812af077 Userland: Speed up the execution of the cut command.
Avoid creating SingleIndexes in case of byte ranges. This, boosts
the performance significantly in case a byte range is too big(e.g 666-123123).
Also, claim copyright over this mess since I am the one responsible for it.
2020-03-03 20:19:21 +01:00
Andreas Kling
686ade6b5a AK: Make quick_sort() a little more ergonomic
Now it actually defaults to "a < b" comparison, instead of forcing you
to provide a trivial less-than comparator. Also you can pass in any
collection type that has .begin() and .end() and we'll sort it for you.
2020-03-03 16:02:58 +01:00
Andreas Kling
214f934465 Meta: Adjust some copyright dates by Fei Wu 2020-03-02 14:24:25 +01:00
Andreas Kling
6fa5df783b ps: Add some options and slim down the default output style
The following options are now available:

    -e: Show every process (not just the ones on your TTY)
    -f: Full format (instead of the short format)

We should definitely support more options and formats, I just wanted to
get away from the static single style of output. :^)
2020-03-01 17:46:06 +01:00
Andreas Kling
22d0a6d92f AK: Remove unnecessary casts to size_t, after Vector changes
Now that Vector uses size_t, we can remove a whole bunch of redundant
casts to size_t.
2020-03-01 12:58:22 +01:00
Andreas Kling
0ef83911d7 rm: Allow specifying multiple paths to remove 2020-03-01 12:11:31 +01:00
Andreas Kling
9632388bed ps: Don't assert when coming across a zombie process
Fixes #1278.
2020-02-27 10:37:47 +01:00
Andreas Kling
ceec1a7d38 AK: Make Vector use size_t for its size and capacity 2020-02-25 14:52:35 +01:00
Liav A
d51c81f475 Userland: Add a utility for viewing interrupts from ProcFS 2020-02-24 11:27:03 +01:00
Shannon Booth
61bf8e01f9 Userland: Delete redundant code in truncate
Fixes #1262
2020-02-23 06:46:38 +01:00
Brian Gianforcaro
540d9caa8e head: Use pledge() 2020-02-22 21:17:06 +01:00
Andreas Kling
4420284125 profile: Allow launching a command with profiling enabled
You can now profile a program from start to finish by doing:

    $ profile -c "cat /etc/passwd"

The old "enable or disable profiling for a PID" mode is accessible via:

    $ profile -p <PID> -e    # Enable profiling for PID
    $ profile -p <PID> -d    # Disable profiling for PID

The generated profile is available via /proc/profile like before.
This is far from perfect, but it at least makes profiling a lot nicer
to use since you don't have to hurry and attach to something when you
want to profile the whole thing anyway.
2020-02-22 11:01:37 +01:00
howar6hill
a78ae917d8 mv: Use ArgsParser, and check lstat for failure 2020-02-21 15:16:28 +01:00
howar6hill
e352ee23e5 Userland: Fix nullptr dereference if we fail to open the PCIDB
In the code below, db could be null, and would cause UB.
Instead of crashing, let's simply skip symbolicating names.

Fixes #1247
2020-02-20 15:13:42 +01:00
howar6hill
83668299a6
host: Use ArgsParser to parse arguments, and add man page (#1252)
Fixes #1246.
2020-02-20 15:12:55 +01:00
Andreas Kling
88b9fcb976 AK: Use size_t for ByteBuffer sizes
This matches what we already do for string types.
2020-02-20 13:20:34 +01:00
howar6hill
940de40f28
Userland: Add userdel program (#1217) 2020-02-19 12:59:09 +01:00
Andreas Kling
315538245f realpath: Use pledge() 2020-02-18 13:29:54 +01:00
Andreas Kling
f67f70302b uname: Use pledge() 2020-02-18 13:29:54 +01:00
Andreas Kling
feb4c683eb touch: Use pledge() 2020-02-18 13:29:54 +01:00
Andreas Kling
b58728ed99 rm: Use pledge() 2020-02-18 13:29:54 +01:00
Andreas Kling
a5f0b2aef0 ln: Use pledge() 2020-02-18 13:29:54 +01:00
Andreas Kling
03aea11589 date: Use pledge() 2020-02-18 13:29:54 +01:00
Andreas Kling
4b0e0bd9b8 env: Use pledge() 2020-02-18 13:29:54 +01:00
Andreas Kling
b2f9a60bdb uptime: Use pledge() 2020-02-18 13:29:54 +01:00
Andreas Kling
3b3b4b0e04 hostname: Use pledge() 2020-02-18 13:29:54 +01:00
Andreas Kling
60c8d2379a kill: Use pledge() 2020-02-18 13:29:54 +01:00
Andreas Kling
0bef6c9d78 basename: Use pledge() 2020-02-18 13:29:54 +01:00
howar6hill
94ed183774 Man: Use ArgsParser to parse arguments 2020-02-18 12:23:15 +01:00
Andreas Kling
7ce3f218af wc: Use pledge() 2020-02-18 11:35:47 +01:00
Andreas Kling
257e7f022a sort: Use pledge() 2020-02-18 11:35:47 +01:00
Andreas Kling
4f7081289c whoami: Use pledge() and unveil() 2020-02-18 11:35:47 +01:00
Andreas Kling
0b44f9d600 which: Use pledge() 2020-02-18 11:35:47 +01:00