Tmux - tmux source code

Related tags

Command-line tmux
Overview

Welcome to tmux!

tmux is a terminal multiplexer: it enables a number of terminals to be created, accessed, and controlled from a single screen. tmux may be detached from a screen and continue running in the background, then later reattached.

This release runs on OpenBSD, FreeBSD, NetBSD, Linux, macOS and Solaris.

Dependencies

tmux depends on libevent 2.x, available from this page.

It also depends on ncurses, available from this page.

To build tmux, a C compiler (for example gcc or clang), make, pkg-config and a suitable yacc (yacc or bison) are needed.

Installation

Binary packages

Some platforms provide binary packages for tmux, although these are sometimes out of date. Examples are listed on this page.

From release tarball

To build and install tmux from a release tarball, use:

./configure && make
sudo make install

tmux can use the utempter library to update utmp(5), if it is installed - run configure with --enable-utempter to enable this.

For more detailed instructions on building and installing tmux, see this page.

From version control

To get and build the latest from version control - note that this requires autoconf, automake and pkg-config:

git clone https://github.com/tmux/tmux.git
cd tmux
sh autogen.sh
./configure && make

Contributing

Bug reports, feature suggestions and especially code contributions are most welcome. Please send by email to:

[email protected]

Or open a GitHub issue or pull request. Please read this document before opening an issue.

There is a list of suggestions for contributions. Please feel free to ask on the mailing list if you're thinking of working on something or need further information.

Documentation

For documentation on using tmux, see the tmux.1 manpage. View it from the source tree with:

nroff -mdoc tmux.1|less

A small example configuration is in example_tmux.conf.

And a bash(1) completion file at:

https://github.com/imomaliev/tmux-bash-completion

For debugging, run tmux with -v or -vv to generate server and client log files in the current directory.

Support

The tmux mailing list for general discussion and bug reports is:

https://groups.google.com/forum/#!forum/tmux-users

Subscribe by sending an email to:

[email protected]

Comments
  • Add control mode command to pause/resume pty output for a pane

    Add control mode command to pause/resume pty output for a pane

    It would be nice to have a control mode command that halted input processing of the pty attached to a given pane.

    The rationale for this is as follows:

    Tmux is very good at processing the pty input very quickly and does this in parallel with notifying the client (since the client notification is queued up via bufferevents). However a receiving client doesn't necessarily process things so fast (especially since it has to also draw it). Ultimately the client can't keep up with the rate it is receiving messages and they either buffer in the client or buffer in the server.

    This isn't a huge issue by itself, however it causes some annoyances when using the client. For example, say a command was unintentionally run that causes very large amounts of output, since tmux processes these messages so fast they will almost immediately become backlogged meaning that when the user tries to ^C the command they have to wait for this backlog to clear, which depending on how fast the client is, can take some time.

    The only sensibly way I can see to resolve this using tmux is to have a mechanism whereby the client can tell the the server to slow down or stop processing the pty input. Do you think this is something that could be added?

    (I think it's just a case of calling bufferevent_{enable/disable} for EV_READ on {window_pane}->event?). Thanks.

    opened by brads55 210
  • Tmux freezes Mac when killing a long running session

    Tmux freezes Mac when killing a long running session

    I have found that when I have a local tmux session running for more than 2-3 hours, and I kill it, my Mac (Running OS X El Capitan GM Candidate) freezes completely.

    Running Tmux 2.0 Stable in Terminal.app (it also happens when using iTerm).

    Additionally, Vim and Terminal apps start becoming sluggish and unresponsive after a session is open for a day or two. I wouldn't mind that too much if I could just kill the session and start it back up again. :)

    opened by dphaener 142
  • Very slow output in less

    Very slow output in less

    tl;dr: commit c5443da2 makes scrolling in less unbearably slow on large screens.

    • Platform: macOS (uname -sp: Darwin i386)
    • $TERM inside: tmux-256color, outside: xterm-256color

    Repro:

    1. Run tmux on a large screen (for example, I'm testing on a window large enough to have $COLUMNS = 478 and $LINES = 118).
    2. Create a "horizontal" (-h) split ($COLUMNS = 239 and $LINES = 118).
    3. less some-large-file (I'm using a file with 118k lines).
    4. Press and hold space.

    Expected result:

    Output in less scrolls smoothly, stopping as soon as you take your thumb off the space bar.

    Actual result:

    Output in less moves very slowly (slow enough to see individual lines moving), scrolling continues even after taking your thumb off the space bar, and tmux becomes unresponsive until scrolling stops (dozens of seconds later).

    Details:

    In investigating this, I tried a few things:

    • Problem repros in iTerm2 v3 (my daily driver) and in Apple's Terminal.app.
    • Problem only repros in the presence of a split.
    • Problem only repros when the window is sufficiently tall; for example, if you halve the height of the window, problem doesn't repro, even with a split.

    The problem is particularly bad in less, but you can also observe a speed difference with simple cat too:

    • On c5443da2:
      • Time to cat long file inside a split: 16s
      • Time to cat long file with no split: 1.3s
      • Time to cat long file inside a split, but smaller dimensions ($COLUMNS = 89, $LINES = 47): 6.43s
    • Immediately prior to c5443da2:
      • Time to cat long file inside a split: 5.32s
      • Time to cat long file with no split: 3.75s
      • Time to cat long file inside a split, but smaller dimensions ($COLUMNS = 89, $LINES = 47): 2.24s

    Seems that there is some size threshold in c5443da2 above which performance hits some pathological bounds, greatly exacerbated in the presence of a split.

    opened by wincent 113
  • 3.2 questions and comments

    3.2 questions and comments

    Ask or discuss any quick questions here about 3.2 please.

    Bug reports please open a new issue with full information, see CONTRIBUTING.

    The 3.2 CHANGES file is here.

    As always, thanks to the many people who contributed to both this and to previous releases.


    There are a lot of changes in this release, these are the most notable, for more see the CHANGES file:

    • How data is sent to control mode clients has been completely revamped to both be more fair with multiple panes and to prevent huge amounts of data being backed up; this feature is used by default when tmux is attached with the latest iTerm2 nightly builds.

    • Configuration file parsing has changed slightly: the contents of the new {} syntax introduced in 3.1 must now be valid tmux command syntax; and to allow formats to be annotated, strings given with quotes may now contain newlines (leading spaces and comments are stripped).

    • A new customize mode available with C-b C (C-b S-c) which allows options and key bindings to be browsed and changed interactively.

    • Support for extended keys offered by some terminals (xterm, mintty, iTerm2), see https://github.com/tmux/tmux/wiki/Modifier-Keys#extended-keys.

    • A pane-border-lines option to change the characters used to draw the pane border separators.

    • How UTF-8 data is stored has been rewritten to reduce memory use for characters in the BMP.

    • The message log (C-b ~) has been changed to be per server instead of per client and to have some useful content.

    • Client flags have been extended (refresh-client -F becomes -f and also added for attach-session and new-session), and a read-only flag added (same as -r to attach-session).

    • A new active-pane client flag that if given allows a client to have its own active pane for each window rather than being tied to the server's active pane.

    • Improved command-prompt completion including showing a menu of completions.

    • All style options can now be formats, for example the default pane-active-border-style now changes colour depending on pane_in_mode and synchronize-panes.

    • Search match count has come back in copy mode, as well as performance improvements and additional styles for marking of search terms.

    • Try $XDG_CONFIG_HOME/tmux/tmux.conf as well as ~/.config/tmux/tmux.conf.

    • Window and pane hooks such as window-layout-changed and pane-exited are now window or pane options instead of session options.

    • copy-pipe and friends can now be given with no arguments in which case they get the command from a new copy-command option. The default copy commands all now use copy-pipe. This makes it much easier to configure copy-pipe for all copy key bindings.

    • Terminal detection and feature code has been rewritten. tmux now collects sets of related terminfo(5) capabilties together with sensible default values into named "terminal features" which makes them easier to configure via a new terminal-features option or -T flag to tmux itself. tmux can detect and will automatically configure a number of common, modern terminal emulators.

    • Support for per-client overlay popups with a new display-popup command. A popup is also used for an e key binding in buffer mode to edit a buffer using the editor given in the new editor option (filled in from the EDITOR or VISUAL environment variables by default).

    • DoubleClick and TripleClick mouse key bindings have changed so that only one is fired. Behaviour similar to the old double-click key binding is now available as SecondClick. There are now default double- and triple-click bindings to copy a word or line, and a default middle-click binding to paste the top buffer.

    • When a server socket is given with -S, it is now created with umask 177 rather than 117.


    Note the following known potentially-incompatible changes:

    • The {} syntax added in tmux 3.1 has changed so that the contents must follow the syntax of tmux commands.

    • The DoubleClick key binding is not fired on the way to TripleClick; only one is fired. The new SecondClick key binding behaves similarly to the old DoubleClick.

    • status-fg and status-bg are now applied before status-style rather than instead of; this means that if either is set to default the status-style colour will be used. To fix, replace status-bg default with status-style bg=default.

    opened by nicm 108
  • Unicode problem

    Unicode problem

    ~ uname -sp && tmux -V && echo $TERM
    Linux unknown
    tmux master
    xterm-termite
    
    • System is ArchLinux.

    Test run with:

    • tmux -Ltest kill-server
    • tmux -vv -Ltest -f/dev/null new
    • vim ./emojis

    Logs and test file used:

    Results:

    overflow

    Issue:

    The overflow on column 80 doesn't happen for vim outside tmux. This issue pervades all console applications.

    opened by oblitum 101
  • [Feature Request] Floating Window Support

    [Feature Request] Floating Window Support

    It will be very cool if tmux can support floating window like neovim!

    Here are related designs:

    I do believe that floating window in tmux will be very useful.

    For example, we can use it to develop

    • a translation plugin that shows the translation results in "floating window"
    • a plugin that allows you to quickly view the man page of current command in "floating window"
    • a plugin that can manage git branch, browse git commit, and more with git!
    • a plugin using zui to create a dashboard in "floating window"
    opened by sainnhe 100
  • support for window and pane scoped hooks

    support for window and pane scoped hooks

    Hi, this is an attempt to support window and pane scoped hooks. I have moved them out of the session hooks. Mostly works, but couple of things remain. I'll update the man soon. Please have a look and comment.

    opened by topcat001 97
  • add support for 24-bit RGB color escape sequences

    add support for 24-bit RGB color escape sequences

    This patch adds support for 24-bit RGB color escape sequences, requested in issue #34, by adjusting Koichi Shiraishi's patch 2, which derives from Christian Hopps's patch 3, which in turn derives from Arnis Lapsa's patch 4, according to feedback given by Nicholas Marriott 1.

    opened by sunaku 96
  • TMUX Keeps Exiting and killing all my sessions.

    TMUX Keeps Exiting and killing all my sessions.

    Hello so I have a script that creates a tmux session then run some few commands, so it actually works really great but the problem is tmux keeps exiting and killing all sessions, I have tried to debug but to be honest I really don't know what is the issue and the tmux logs understanding them is also a pain. Kindly assist, below are the details of my enviroment.

    # Tmux version
    tmux 3.0a
    
    # Linux Box version
    Linux x86_64
    
    # TERM outside tmux
    xterm-256color
    
    # TERM inside tmux
    screen-256color
    
    • Attached are also the logs, kindly assist, I also googled and I thought it was about the default shell and placed the following: set -g default-shell /bin/bash in my tmux config file but nothing has changed.
    opened by iAmG-r00t 94
  • 3.0a questions or comments

    3.0a questions or comments

    Ask or discuss any quick questions here about 3.0a only please.

    Bug reports please open a new issue with full information, see CONTRIBUTING.

    3.0a is a patch release of 3.0.

    The 3.0a CHANGES file is here.


    Note that you need to change \ to '\' and any {foo} to '{foo}' in .tmux.conf:

    bind \ splitw
    bind x kill-pane -t {top}
    

    Become:

    bind '\' splitw
    bind x kill-pane -t '{top}'
    

    These will work on older tmux versions also.

    opened by nicm 88
  • Add TrueColor Support

    Add TrueColor Support

    There was a very long thread about TrueColor support in Tmux that was on SorceForge. I'd be happy to convert it over, but it seems as though the link is no longer valid.

    It was specifically issue number 140 which was the issue about truecolor support in Tmux.

    Update: Here is all of the information I could find. Thanks to @ThomasAdam for the help.

    The old URL was: http://sourceforge.net/p/tmux/tickets/140/ Archive Link: https://www.mail-archive.com/[email protected]/msg06296.html Gist Link: https://gist.github.com/jfelchner/b0c44b1ac199df28fb84

    Current TrueColor Terminal/Program Support Status: https://gist.github.com/XVilka/8346728

    opened by jfelchner 88
  • Backslash inconsistency in option between `3.3a` and `next-3.4`

    Backslash inconsistency in option between `3.3a` and `next-3.4`

    Issue description

    ❯ tmux -V
    tmux 3.3a
    ~
    ❯ tmux set-option -g @test_backslash "a\\,b"
    ~
    ❯ tmux show-option -gv @test_backslash
    a\,b
    ❯ tmux set-option -g @test_backslash 'a\\,b'
    ~
    ❯ tmux show-option -gv @test_backslash
    a\\,b
    
    ❯ tmux -V
    tmux next-3.4
    ~
    ❯ tmux set-option -g @test_backslash "a\\,b"
    ~
    ❯ tmux show-option -gv @test_backslash
    a\\,b
    ~
    ❯ tmux set-option -g @test_backslash 'a\\,b'
    ~
    ❯ tmux show-option -gv @test_backslash
    a\\\\,b
    

    What this change intentional?


    Required information

    Please provide the following information:

    • ~tmux version (tmux -V).~
    • Platform (uname -sp): Darwin arm
    • $TERM inside and outside of tmux (echo $TERM): tmux-256color
    • ~Logs from tmux (tmux kill-server; tmux -vv new).~
    opened by MunifTanjim 1
  • Hyperlinks aren't shown in scrollback

    Hyperlinks aren't shown in scrollback

    Issue description

    This is an issue with the newly added support for escape code hyperlinks: #3240

    Hyperlinks show up normally, but disappear when entering scrollback (and/or copy-mode).

    Required information

    Please provide the following information:

    • tmux version (tmux -V): latest master
    • platform (uname -sp): Darwin arm
    • $TERM inside and outside of tmux (echo $TERM): outside: xterm-256color, inside: screen-256color
    • config: none/empty config
    opened by orausch 1
  • 3.3a questions and comments

    3.3a questions and comments

    Ask or discuss any quick questions about 3.3a here please.

    Do not use this issue for bug reports, please open a new issue with full information, see CONTRIBUTING.

    3.3a is a bug fix release of 3.3 with a few minor fixes. The previous issue for 3.3 is here.

    The 3.3a CHANGES file is here.

    As always, thanks to the many people who contributed to both this and to previous releases.


    Note that the tmux configure script will now automatically choose the default value for the default-terminal option (used for TERM inside tmux) at build time and will prefer tmux-256color if it is available (the previous default was screen). tmux-256color is more fully featured than screen and its use is recommended.

    However, due to the way Homebrew on macOS builds tmux, this can cause programs like zsh, clear and vi to complain or to work incorrectly.

    The best way to fix this is to install tmux-256color with the system ncurses:

    $ /*/*/Cellar/ncurses/6.3/bin/infocmp -x tmux-256color >tmux-256color.src
    $ sudo /usr/bin/tic -x tmux-256color.src
    

    Alternatively, change default-terminal to screen-256color in .tmux.conf:

    set -g default-terminal screen-256color
    

    See this comment for more information.


    Here are some of the other notable changes for the 3.3 release, for more see the CHANGES file:

    • When building on macOS, --enable-utf8proc or --disable-utf8proc must be explicitly given to configure (the former is recommended).

    • There is now an ACL list to control users permitted to attach to a tmux socket (file system permissions must still be set manually); see the server-access command.

    • The passthrough escape sequence is now controlled by an option (allow-passthrough), default is off (recommended).

    • Various other new options: remain-on-exit-format, fill-character, scroll-on-clear, pane-border-indicators, cursor-style, cursor-colour, popup-border-lines, popup-border-style, popup-style, pane-colours.

    • On Linux, tmux now supports getting the socket from systemd (socket activation), if built with --enable-systemd.

    • There is now a menu when button 3 is pressed outside a popup border with a few items including the ability to convert a popup into a pane.

    opened by nicm 89
  • Extra sequences in the middle of command output: civis+cnorm, cup, and CR LF

    Extra sequences in the middle of command output: civis+cnorm, cup, and CR LF

    Issue description

    I'm seeing unexpected sequences in the middle of command output. They don't affect the visible content of the TTY after the command finishes but they still do have minor negative consequences: blinking cursor and difficulties in processing captured TTY output, including copying the TTY content outside of tmux.

    To reproduce this, start tmux without a status line in a TTY with 80 columns and 25 lines and run the following command:

    zsh -fc -- '
      line=${(pl:$COLUMNS::x:)}
      clear
      sleep 1
      print -rn -- $line$line
      sleep 1
      print -r -- $line
      sleep 1'
    

    This command prints 160 x characters and then another 80 after one second.

    The content of the TTY after the command completes:

    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    

    Note that there are two lines in there. The first is 160 characters long, the second is 80. It would be nice to get a single line.

    The first print in the command causes these writes to the TTY:

    • \033[?25l\033[?12l\033[?25h
    • xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\033[2;80H
    • \033[?25l\033[?12l\033[?25h

    The first and the last write are identical. They are civis+cnorm. It would be nice if they didn't get printed out.

    \033[2;80H is cup. It would be nice if it wasn't printed out.

    The second print causes these writes:

    • \r\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\033[4;1H

    \r\n causes a hard wrap. It would be nice if it didn't get printed out. I realize that this sequence is necessary because of the preceding \033[2;80H, so eliding one of these would require eliding the other.

    Required information

    • tmux version: tmux next-3.4 (https://github.com/tmux/tmux/commit/6f46f71d58d508703c29ddc50c04bb4b56603e20)
    • Platform: Linux x86_64
    • TERM outside of tmux: xterm-256color
    • TERM inside tmux: screen
    • TTY dimensions: 80 columns by 25 lines.
    • The complete content of ~/.tmux.conf: set -g status off
    • Logs from tmux: tmux-logs.tar.gz
    opened by romkatv 25
  • Add options and arguments for display-menu to set border, border style, and style

    Add options and arguments for display-menu to set border, border style, and style

    ~~:warning: The merge base of this PR should be afh:afh-popup-style-arguments from #2931 instead of tmux:master. :information_source: To see only the relevant changes please compare afh:afh-popup-style-arguments withafh:afh-menu-style-opts-args.~~ Update: #2931 has been applied, so master as a merge base for this PR is now correct 🎉

    This PR brings the same styling capabilites from popup to menu.

    To test:

    • Build and run tmux ./tmux -vv -f/dev/null -Ltest
    • Set menu-border-lines, menu-style options and display menu (see test_menu_style.sh below)
    • Use -B, -b, -s,-Sarguments when displaying a menu (seetest_menu_style.sh` below)
    test_menu_style.sh
    #!/bin/ksh
    
    ./tmux set -gwU menu-border-lines
    ./tmux set -gw menu-border-lines double
    ./tmux set -gw menu-border-style fg=black,bg=yellow
    ./tmux set -gw menu-style fg=magenta,bg=cyan
    ./tmux set -gw mode-style fg=yellow,bg=black
    ./tmux menu -T 'Styled via Options' '#[fg=red,bg=blue]foo' '' '' -bar '' '' '' baz '' ''
    
    ./tmux menu -B -T 'Styled via Options' '#[fg=red,bg=blue]foo' '' '' -bar '' '' '' baz '' ''
    
    ./tmux menu -b heavy -S fg=blue,bg=red -s fg=magenta,bg=cyan -T 'Styled via Arguments' foo '' '' -bar '' '' '' baz '' ''
    
    ./tmux menu -B -b heavy -S fg=blue,bg=red -s fg=magenta,bg=cyan -T 'Styled without Border' foo '' '' -bar '' '' '' baz '' ''
    

    | | | | --- | --- | | Styled with Options | 2021-10-23-101801_905x562_scrot| | Styled without Border | 2021-10-23-103011_905x562_scrot| | Styled with Arguments | 2021-10-23-101809_905x562_scrot| | Styled without Border | 2021-10-23-101815_905x562_scrot|

    opened by afh 27
  • Sync: flicker in pane of remote tmux running in ssh running in local tmux

    Sync: flicker in pane of remote tmux running in ssh running in local tmux

    Issue description

    1. First start tmux on your local machine, and split the tmux window vertically.
    2. Then ssh into a remote machine from its right pane (for speed one could consider a machine on LAN).
    3. Next launch tmux in the ssh session, and create a horizontal split in ssh's tmux (i.e. remote tmux).
    4. If one has some log actively printing in one of the ssh's tmux panes (one could use >>cmatrix as a test), and the cursor is in the other pane of ssh's tmux, it flickers.

    The flicker is also observable, although 2-3 times per minute, even if one were to just have one pane in the session but were using oh my tmux's status line (probably because the battery percentage meter and clock updates).

    There is no flicker if one were to start the ssh+tmux outside of local tmux (directly inside a terminal).

    Why did I encounter such a idiosyncratic case: I have been using tmux as startup command for my terminal emulator...

    Required information

    Please provide the following information:

    • tmux version (tmux -V) next-3.4.
    • Platform (uname -sp) Darwin arm.
    • $TERM inside and outside of tmux (echo $TERM) Same xterm-256color, tmux-256color for both remote and local.
    opened by poetaman 16
Releases(3.3a)
Owner
tmux
tmux terminal multiplexer
tmux
A Rust-based tmux sessionizer

RUTS A Rust-based tmux sessionizer Installation Currently you can install this package by either compiling from source or from the AUR. AUR yay -S rut

Ethan Holz 2 Nov 6, 2022
Easy configurable tmux display-menu

tmux-easy-menu Easy configurable tmux display-menu Setup cargo build And run with ./target/debug/tmux-menu show --menu {path-to-your-config} Configu

null 18 Jan 23, 2023
Think tmux, then aim... lower

shpool shpool is a service that enables session persistence by allowing the creation of named shell sessions owned by shpool so that the session is no

null 14 Mar 4, 2024
falling sand sim for tmux 3.4+

termsand this is VERY rough and hacked together in a couple hours it may not work exactly right for you how do i use it this thing is designed to work

null 265 Oct 23, 2024
Code-shape is a tool for extracting definitions from source code files

Code-shape Code-shape is a tool that uses Tree-sitter to extract a shape of code definitions from a source code file. The tool uses the same language

Andrew Hlynskyi 3 Apr 21, 2023
H2O Open Source Kubernetes operator and a command-line tool to ease deployment (and undeployment) of H2O open-source machine learning platform H2O-3 to Kubernetes.

H2O Kubernetes Repository with official tools to aid the deployment of H2O Machine Learning platform to Kubernetes. There are two essential tools to b

H2O.ai 16 Nov 12, 2022
Source code for our paper "Higher-order finite elements for embedded simulation"

Higher-order Finite Elements for Embedded Simulation This repository contains the source code used to produce the results for our paper: Longva, A., L

Interactive Computer Graphics 18 Sep 30, 2022
Cargo-eval - A cargo plugin to quickly evaluate some Rust source code.

cargo eval A cargo plugin to quickly evaluate some Rust source code. Installation $ cargo install --git https://github.com/timClicks/cargo-eval.git Us

Tim McNamara 9 Dec 21, 2022
Cloc - cloc counts blank lines, comment lines, and physical lines of source code in many programming languages.

cloc Count Lines of Code cloc counts blank lines, comment lines, and physical lines of source code in many programming languages. Latest release: v1.9

null 15.3k Jan 8, 2023
A tool to decompile MSVC PDB files to C++ source code.

PDB Decompiler About Usage Contributing About A tool to decompile MSVC PDB files to C++ source code. This tool is a work in progress and will most lik

null 40 Dec 13, 2022
ripsecrets is a command-line tool to prevent committing secret keys into your source code.

ripsecrets is a command-line tool to prevent committing secret keys into your source code. ripsecrets has a few features that distinguish it from other secret scanning tools:

Brian Smith 588 Dec 30, 2022
it aims to augment git with primitives to build integrated, cryptographically verifiable collaboration workflows around source code

it aims to augment git with primitives to build integrated, cryptographically verifiable collaboration workflows around source code. It maintains the distributed property of git, not requiring a central server. it is transport agnostic, and permits data dissemination in client-server, federated, as well as peer-to-peer network topologies.

Kim Altintop 4 Jan 16, 2023
The source code of the 'rg' crate. It is an intentional typo-squat that redirects folks to 'ripgrep'.

This is the rg crate that always fails to compile and suggests that folks run cargo install ripgrep instead. Namely, while rg is the command name of r

Andrew Gallant 7 Oct 22, 2022
Downloads and provides debug symbols and source code for nix derivations to gdb and other debuginfod-capable debuggers as needed.

nixseparatedebuginfod Downloads and provides debug symbols and source code for nix derivations to gdb and other debuginfod-capable debuggers as needed

Guillaume Girol 16 Mar 6, 2023
Demo app duplicated in 5 languages (Go/JavaScript/Python/Ruby/Rust) showing how to go from source code to container image using melange+apko

hello-melange-apko ?? This repo contains an example app duplicated across 5 languages showing how to: Package source code into APKs using melange Buil

Chainguard 16 Jan 23, 2023
Write simple proc-macros inline with other source code.

script-macro An experimental way to write simple proc-macros inline with other source code. Did you ever end up getting frustrated at the boilerplate

Markus Unterwaditzer 17 Jun 10, 2023
Original source code for Practical Rust Projects 2nd ed. by Shing Lyu and Andrew Rzeznik

Apress Source Code This repository accompanies Practical Rust Projects 2nd ed. by Shing Lyu and Andrew Rzeznik (Apress, 2023). Download the files as a

Apress 6 Aug 13, 2023
languagetool-code-comments integrates the LanguageTool API to parse, spell check, and correct the grammar of your code comments!

languagetool-code-comments integrates the LanguageTool API to parse, spell check, and correct the grammar of your code comments! Overview Install MacO

Dustin Blackman 17 Dec 25, 2022
ChatGPT-Code-Review is a Rust application that uses the OpenAI GPT-3.5 language model to review code

ChatGPT-Code-Review is a Rust application that uses the OpenAI GPT-3.5 language model to review code. It accepts a local path to a folder containing code, and generates a review for each file in the folder and its subdirectories.

Greg P. 15 Apr 22, 2023