added submodule for nvim
This commit is contained in:
parent
da772dfb72
commit
9284454815
60 changed files with 559 additions and 2009 deletions
4
.gitignore
vendored
4
.gitignore
vendored
|
|
@ -5,8 +5,8 @@ tmux/.config/tmux/plugins/*
|
|||
vim/.vim/plugged/*
|
||||
vim/.vim/undodir/*
|
||||
|
||||
jupyter/.ipython
|
||||
jupyter/.jupyter
|
||||
jupyter/.ipython/*
|
||||
jupyter/.jupyter/*
|
||||
|
||||
conda/.conda/*
|
||||
|
||||
|
|
|
|||
|
|
@ -1,101 +1,60 @@
|
|||
# Set XDG_CONFIG_HOME if not already set
|
||||
if [[ -z "$XDG_CONFIG_HOME" ]]; then
|
||||
export XDG_CONFIG_HOME="$HOME/.config"
|
||||
# Ensure XDG_CONFIG_HOME is set
|
||||
: "${XDG_CONFIG_HOME:=$HOME/.config}"
|
||||
|
||||
# Set default pager
|
||||
export PAGER="less -i -N -S -R"
|
||||
|
||||
# Ensure PYENV_ROOT is set and its bin directory is in PATH
|
||||
if [ -n "$PYENV_ROOT" ] && [[ ! "$PATH" =~ (^|:)${PYENV_ROOT}/bin(:|$) ]]; then
|
||||
export PATH="$PYENV_ROOT/bin:$PATH"
|
||||
fi
|
||||
|
||||
export PAGER="less"
|
||||
|
||||
# Set editor based on SSH connection
|
||||
if [[ -n $SSH_CONNECTION ]]; then
|
||||
export EDITOR='vim'
|
||||
else
|
||||
export EDITOR='nvim'
|
||||
fi
|
||||
|
||||
# Set PYENV_ROOT and add pyenv to PATH
|
||||
export PYENV_ROOT="$HOME/.pyenv"
|
||||
export PATH="$PYENV_ROOT/bin:$PATH"
|
||||
eval "$(pyenv init --path)"
|
||||
eval "$(pyenv init -)"
|
||||
|
||||
# Add ~/.local/bin to PATH if it exists
|
||||
if [ -d "$HOME/.local/bin" ]; then
|
||||
PATH="$HOME/.local/bin:$PATH"
|
||||
if [ -d "$HOME/.local/bin" ] && [[ ! "$PATH" =~ (^|:)${HOME}/.local/bin(:|$) ]]; then
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
fi
|
||||
|
||||
# Set permissions for ~/.local/bin
|
||||
chmod -R ug+rwx "$HOME/.local/bin/"
|
||||
|
||||
# Source fzf theme if it exists
|
||||
if [ -f fzf_theme ]; then
|
||||
source fzf_theme > /dev/null 2>&1
|
||||
# Read fzf theme options if the file exists
|
||||
if [ -f "$HOME/.local/bin/scripts/fzf_theme" ]; then
|
||||
FZF_OPTIONS=$("$HOME/.local/bin/scripts/fzf_theme")
|
||||
export FZF_DEFAULT_OPTS="$FZF_OPTIONS"
|
||||
fi
|
||||
|
||||
# Source fzf configuration
|
||||
source <(fzf --bash)
|
||||
|
||||
# Add RVM to PATH
|
||||
export PATH="$PATH:$HOME/.rvm/bin"
|
||||
|
||||
# Add Golang to PATH
|
||||
export GOPATH="$HOME/Documents/projects:$HOME/go"
|
||||
export PATH="$PATH:$(go env GOPATH)/bin"
|
||||
|
||||
# Function to activate Python virtual environment if found
|
||||
activate_python_env() {
|
||||
local env_dir
|
||||
# Use fd (if available) to find activate script
|
||||
if command -v fd &> /dev/null; then
|
||||
env_dir=$(fd -H -I -t f -d 3 'activate$' | xargs dirname)
|
||||
else
|
||||
# Fallback to find command
|
||||
env_dir=$(find . -type f -name activate -exec dirname {} \;)
|
||||
fi
|
||||
if [ -n "$env_dir" ]; then
|
||||
source "$env_dir/activate"
|
||||
else
|
||||
echo "No Python virtual environment found in the current directory or its subdirectories."
|
||||
fi
|
||||
}
|
||||
alias act='activate_python_env'
|
||||
|
||||
# Aliases
|
||||
alias python="python3"
|
||||
alias vim="nvim"
|
||||
alias tn="tmux new -s $(basename "$(pwd)")"
|
||||
alias cat="bat --paging=never"
|
||||
alias grep="grep --color=auto"
|
||||
alias ll="ls -alF"
|
||||
|
||||
alias cp='cp -i'
|
||||
|
||||
# Basic `ls` replacement with `eza`, grouping directories first
|
||||
alias ls='eza --group-directories-first --color=auto'
|
||||
|
||||
# List all files, including hidden ones, in long format with grouped directories
|
||||
alias la='eza -la --group-directories-first --color=auto'
|
||||
|
||||
# List files in long format with grouped directories
|
||||
alias ll='eza -l --group-directories-first --color=auto'
|
||||
|
||||
# List files sorted by modification time, newest first, in long format with grouped directories
|
||||
alias lt='eza -lt --sort newest'
|
||||
|
||||
# List files sorted by size, largest first, in long format with grouped directories
|
||||
alias lS='eza -lS --group-directories-first --color=auto'
|
||||
|
||||
# Display directory tree with a depth limit of 3 levels
|
||||
alias tree='eza --tree --level=3'
|
||||
|
||||
# Display git status alongside files
|
||||
alias lg='eza --git'
|
||||
|
||||
# Set bat to highlight --help messages
|
||||
alias bathelp='bat --plain --language=help'
|
||||
help() {
|
||||
"$@" --help 2>&1 | bathelp
|
||||
}
|
||||
|
||||
# Overwrite -h and --help with bat highlights
|
||||
alias -g -- -h='-h 2>&1 | bat --language=help --style=plain'
|
||||
alias -g -- --help='--help 2>&1 | bat --language=help --style=plain'
|
||||
|
||||
# Initialize zoxide
|
||||
if command -v zoxide &> /dev/null; then
|
||||
eval "$(zoxide init bash)"
|
||||
if [[ ! "$PATH" =~ (^|:)${HOME}/.rvm/bin(:|$) ]]; then
|
||||
export PATH="$PATH:$HOME/.rvm/bin"
|
||||
fi
|
||||
|
||||
# Add Golang to PATH
|
||||
if [ -n "$(go env GOPATH)" ] && [[ ! "$PATH" =~ (^|:)$(go env GOPATH)/bin(:|$) ]]; then
|
||||
export GOPATH="$HOME/Documents/projects:$HOME/go"
|
||||
export PATH="$PATH:$(go env GOPATH)/bin"
|
||||
fi
|
||||
|
||||
# Cargo setup
|
||||
if [ -d "$HOME/.cargo/bin" ] && [[ ! "$PATH" =~ (^|:)${HOME}/.cargo/bin(:|$) ]]; then
|
||||
export PATH="$HOME/.cargo/bin:$PATH"
|
||||
fi
|
||||
|
||||
# >>> conda initialize >>>
|
||||
# !! Contents within this block are managed by 'conda init' !!
|
||||
__conda_setup="$('/usr/local/Caskroom/miniforge/base/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
|
||||
if [ $? -eq 0 ]; then
|
||||
eval "$__conda_setup"
|
||||
else
|
||||
if [ -f "/usr/local/Caskroom/miniforge/base/etc/profile.d/conda.sh" ]; then
|
||||
. "/usr/local/Caskroom/miniforge/base/etc/profile.d/conda.sh"
|
||||
else
|
||||
export PATH="/usr/local/Caskroom/miniforge/base/bin:$PATH"
|
||||
fi
|
||||
fi
|
||||
unset __conda_setup
|
||||
# <<< conda initialize <<<
|
||||
|
||||
|
|
|
|||
133
bash/.bashrc
133
bash/.bashrc
|
|
@ -1,48 +1,105 @@
|
|||
# Add custom paths to $PATH
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
# Function to clean up and normalize paths
|
||||
path_print_clean() {
|
||||
local var=${1:-PATH}
|
||||
local arr
|
||||
local newarr=()
|
||||
local path
|
||||
local p
|
||||
|
||||
# Homebrew Configuration
|
||||
# Add Homebrew's installation directory to the PATH
|
||||
if [[ -d /opt/homebrew ]]; then
|
||||
export PATH="/opt/homebrew/bin:/opt/homebrew/sbin:$PATH"
|
||||
elif [[ -d /usr/local ]]; then
|
||||
export PATH="/usr/local/bin:/usr/local/sbin:$PATH"
|
||||
fi
|
||||
# Read PATH into an array
|
||||
IFS=: read -r -a arr <<< "${!var}:"
|
||||
|
||||
# Source user-specific profile
|
||||
if [ -f ~/.bash_profile ]; then
|
||||
. ~/.bash_profile
|
||||
fi
|
||||
# Declare an associative array to keep track of seen paths
|
||||
declare -A seen
|
||||
|
||||
# >>> conda initialize >>>
|
||||
# !! Contents within this block are managed by 'conda init' !!
|
||||
__conda_setup="$('/usr/local/Caskroom/miniforge/base/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
|
||||
if [ $? -eq 0 ]; then
|
||||
eval "$__conda_setup"
|
||||
else
|
||||
if [ -f "/usr/local/Caskroom/miniforge/base/etc/profile.d/conda.sh" ]; then
|
||||
. "/usr/local/Caskroom/miniforge/base/etc/profile.d/conda.sh"
|
||||
else
|
||||
export PATH="/usr/local/Caskroom/miniforge/base/bin:$PATH"
|
||||
for p in "${arr[@]}"; do
|
||||
# Empty element is equivalent to CWD (weird, I know), remove it
|
||||
if [[ -z $p ]]; then
|
||||
continue
|
||||
fi
|
||||
fi
|
||||
unset __conda_setup
|
||||
|
||||
if [ -f "/usr/local/Caskroom/miniforge/base/etc/profile.d/mamba.sh" ]; then
|
||||
. "/usr/local/Caskroom/miniforge/base/etc/profile.d/mamba.sh"
|
||||
fi
|
||||
# <<< conda initialize <<<
|
||||
# Remove any relative paths
|
||||
if [[ ${p:0:1} != '/' ]]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
# Customize prompt (example prompt)
|
||||
PS1='\u@\h:\w\$ '
|
||||
# Normalize path and ensure we can access it
|
||||
path=$(cd "$p" &>/dev/null && pwd)
|
||||
|
||||
# Load FZF
|
||||
if [ -f ~/.fzf.bash ]; then
|
||||
source ~/.fzf.bash
|
||||
# Path doesn't exist or we can't access it
|
||||
if [[ -z $path ]]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
# Filter out dups while we are here
|
||||
if [[ -n ${seen[$path]} ]]; then
|
||||
continue
|
||||
fi
|
||||
seen[$path]=true
|
||||
|
||||
# Store the new path
|
||||
newarr+=("$path")
|
||||
done
|
||||
|
||||
local IFS=:
|
||||
echo "${newarr[*]}"
|
||||
}
|
||||
|
||||
# Function to clean up the PATH variable
|
||||
path_clean() {
|
||||
local path
|
||||
path=$(path_print_clean) || return 1
|
||||
# Use eval to correctly assign the cleaned path to the PATH variable
|
||||
export PATH="$path"
|
||||
}
|
||||
|
||||
# Auto-update and other bash settings
|
||||
DISABLE_UPDATE_PROMPT=true
|
||||
|
||||
# Miscellaneous configurations
|
||||
# Uncomment to use case-sensitive completion
|
||||
# CASE_SENSITIVE="true"
|
||||
|
||||
# Uncomment to use hyphen-insensitive completion
|
||||
# HYPHEN_INSENSITIVE="true"
|
||||
|
||||
# Load bash completion
|
||||
if [[ -f /etc/bash_completion ]]; then
|
||||
. /etc/bash_completion
|
||||
fi
|
||||
|
||||
# Additional configuration for visual enhancements (optional)
|
||||
if command -v starship &> /dev/null; then
|
||||
eval "$(starship init bash)"
|
||||
fi
|
||||
# Custom aliases
|
||||
alias python="python3"
|
||||
alias v="nvim"
|
||||
alias cat="bat --paging=never"
|
||||
alias grep="grep --color=auto"
|
||||
alias ls='eza --group-directories-first --color=auto'
|
||||
alias la='eza -la --group-directories-first --color=auto'
|
||||
alias ll='eza -l --group-directories-first --color=auto'
|
||||
alias lt='eza -lt modified --sort newest'
|
||||
alias lS='eza -lS --group-directories-first --color=auto'
|
||||
alias tree='eza --tree --level=3'
|
||||
alias lg='eza --git'
|
||||
alias bathelp='bat --plain --language=help'
|
||||
help() {
|
||||
"$@" --help 2>&1 | bathelp
|
||||
}
|
||||
|
||||
# Custom Apt udpate and upgrade
|
||||
alias update='sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade'
|
||||
|
||||
# Overwriting -h and --help with bat highlights
|
||||
alias -g :h='-h 2>&1 | bat --language=help --style=plain'
|
||||
alias -g :help='--help 2>&1 | bat --language=help --style=plain'
|
||||
|
||||
# Set the default editor
|
||||
export EDITOR='nvim'
|
||||
|
||||
# Add eza completions to FPATH
|
||||
[[ ! "$FPATH" =~ (^|:)${HOME}/.local/bin/eza/completions/bash(:|$) ]] && export FPATH="$HOME/.local/bin/eza/completions/bash:$FPATH"
|
||||
|
||||
# Initialize zoxide (replace with bash equivalent if necessary)
|
||||
eval "$(zoxide init bash)"
|
||||
|
||||
path_clean
|
||||
|
||||
|
|
|
|||
13
bash/.fzf.bash
Executable file
13
bash/.fzf.bash
Executable file
|
|
@ -0,0 +1,13 @@
|
|||
# Setup fzf
|
||||
# ---------
|
||||
if [[ ! "$PATH" == */usr/local/opt/fzf/bin* ]]; then
|
||||
PATH="${PATH:+${PATH}:}/usr/local/opt/fzf/bin"
|
||||
fi
|
||||
|
||||
# Auto-completion
|
||||
# ---------------
|
||||
source "/usr/local/opt/fzf/shell/completion.bash"
|
||||
|
||||
# Key bindings
|
||||
# ------------
|
||||
source "/usr/local/opt/fzf/shell/key-bindings.bash"
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
/Users/jfraeys/.conda
|
||||
/usr/local/Caskroom/miniforge/base
|
||||
/usr/local/Caskroom/miniforge/base/envs/soft-skills-env
|
||||
|
|
@ -1,3 +1,5 @@
|
|||
channels:
|
||||
- conda-forge
|
||||
auto_activate_base: false
|
||||
changeps1: false
|
||||
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
|
|
@ -1,11 +0,0 @@
|
|||
This is the IPython startup directory
|
||||
|
||||
.py and .ipy files in this directory will be run *prior* to any code or files specified
|
||||
via the exec_lines or exec_files configurables whenever you load this profile.
|
||||
|
||||
Files will be run in lexicographical order, so you can control the execution order of files
|
||||
with a prefix, e.g.::
|
||||
|
||||
00-first.py
|
||||
50-middle.py
|
||||
99-last.ipy
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
/*This file contains any manual css for this page that needs to override the global styles.
|
||||
This is only required when different pages style the same element differently. This is just
|
||||
a hack to deal with our current css styles and no new styling should be added in this file.*/
|
||||
|
||||
#ipython-main-app {
|
||||
position: relative;
|
||||
}
|
||||
#jupyter-main-app {
|
||||
position: relative;
|
||||
}
|
||||
|
|
@ -1,82 +0,0 @@
|
|||
// leave at least 2 line with only a star on it below, or doc generation fails
|
||||
/**
|
||||
*
|
||||
*
|
||||
* Placeholder for custom user javascript
|
||||
* mainly to be overridden in profile/static/custom/custom.js
|
||||
* This will always be an empty file in IPython
|
||||
*
|
||||
* User could add any javascript in the `profile/static/custom/custom.js` file.
|
||||
* It will be executed by the ipython notebook at load time.
|
||||
*
|
||||
* Same thing with `profile/static/custom/custom.css` to inject custom css into the notebook.
|
||||
*
|
||||
*
|
||||
* The object available at load time depend on the version of IPython in use.
|
||||
* there is no guaranties of API stability.
|
||||
*
|
||||
* The example below explain the principle, and might not be valid.
|
||||
*
|
||||
* Instances are created after the loading of this file and might need to be accessed using events:
|
||||
* define([
|
||||
* 'base/js/namespace',
|
||||
* 'base/js/events'
|
||||
* ], function(IPython, events) {
|
||||
* events.on("app_initialized.NotebookApp", function () {
|
||||
* IPython.keyboard_manager....
|
||||
* });
|
||||
* });
|
||||
*
|
||||
* __Example 1:__
|
||||
*
|
||||
* Create a custom button in toolbar that execute `%qtconsole` in kernel
|
||||
* and hence open a qtconsole attached to the same kernel as the current notebook
|
||||
*
|
||||
* define([
|
||||
* 'base/js/namespace',
|
||||
* 'base/js/events'
|
||||
* ], function(IPython, events) {
|
||||
* events.on('app_initialized.NotebookApp', function(){
|
||||
* IPython.toolbar.add_buttons_group([
|
||||
* {
|
||||
* 'label' : 'run qtconsole',
|
||||
* 'icon' : 'icon-terminal', // select your icon from http://fortawesome.github.io/Font-Awesome/icons
|
||||
* 'callback': function () {
|
||||
* IPython.notebook.kernel.execute('%qtconsole')
|
||||
* }
|
||||
* }
|
||||
* // add more button here if needed.
|
||||
* ]);
|
||||
* });
|
||||
* });
|
||||
*
|
||||
* __Example 2:__
|
||||
*
|
||||
* At the completion of the dashboard loading, load an unofficial javascript extension
|
||||
* that is installed in profile/static/custom/
|
||||
*
|
||||
* define([
|
||||
* 'base/js/events'
|
||||
* ], function(events) {
|
||||
* events.on('app_initialized.DashboardApp', function(){
|
||||
* require(['custom/unofficial_extension.js'])
|
||||
* });
|
||||
* });
|
||||
*
|
||||
* __Example 3:__
|
||||
*
|
||||
* Use `jQuery.getScript(url [, success(script, textStatus, jqXHR)] );`
|
||||
* to load custom script into the notebook.
|
||||
*
|
||||
* // to load the metadata ui extension example.
|
||||
* $.getScript('/static/notebook/js/celltoolbarpresets/example.js');
|
||||
* // or
|
||||
* // to load the metadata ui extension to control slideshow mode / reveal js for nbconvert
|
||||
* $.getScript('/static/notebook/js/celltoolbarpresets/slideshow.js');
|
||||
*
|
||||
*
|
||||
* @module IPython
|
||||
* @namespace IPython
|
||||
* @class customjs
|
||||
* @static
|
||||
*/
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
{
|
||||
"version": 1,
|
||||
"Exporter": {
|
||||
"extra_template_paths": [
|
||||
".",
|
||||
"/usr/local/Caskroom/miniforge/base/envs/ml-nlp-env/lib/python3.11/site-packages/jupyter_contrib_nbextensions/templates"
|
||||
],
|
||||
"preprocessors": [
|
||||
"jupyter_contrib_nbextensions.nbconvert_support.CodeFoldingPreprocessor",
|
||||
"jupyter_contrib_nbextensions.nbconvert_support.PyMarkdownPreprocessor"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"NotebookApp": {
|
||||
"nbserver_extensions": {
|
||||
"jupyter_nbextensions_configurator": true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
{
|
||||
// Notebook Vim
|
||||
// @axlair/jupyterlab_vim:plugin
|
||||
// Notebook Vim Settings
|
||||
// *****************************
|
||||
|
||||
// Enabled
|
||||
// Enable/disable vim extension (may require a page refresh)
|
||||
"enabled": false
|
||||
}
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
{
|
||||
"toolbar": [
|
||||
{
|
||||
"name": "spacer",
|
||||
"command": "",
|
||||
"disabled": false,
|
||||
"type": "spacer",
|
||||
"rank": 50
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
{
|
||||
// Notifications
|
||||
// @jupyterlab/apputils-extension:notification
|
||||
// Notifications settings.
|
||||
// *******************************************
|
||||
|
||||
// Fetch official Jupyter news
|
||||
// Whether to fetch news from Jupyter news feed. If `true`, it will make a request to a website.
|
||||
"fetchNews": "false"
|
||||
}
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
{
|
||||
// Theme
|
||||
// @jupyterlab/apputils-extension:themes
|
||||
// Theme manager settings.
|
||||
// *************************************
|
||||
|
||||
// Selected Theme
|
||||
// Application-level visual styling theme
|
||||
"theme": "JupyterLab Dark",
|
||||
|
||||
// Scrollbar Theming
|
||||
// Enable/disable styling of the application scrollbars
|
||||
"theme-scrollbars": true
|
||||
}
|
||||
|
|
@ -1,41 +0,0 @@
|
|||
{
|
||||
"toolbar": [
|
||||
{
|
||||
"name": "duplicate-cell",
|
||||
"command": "notebook:duplicate-below",
|
||||
"disabled": false,
|
||||
"rank": 50
|
||||
},
|
||||
{
|
||||
"name": "move-cell-up",
|
||||
"command": "notebook:move-cell-up",
|
||||
"disabled": false,
|
||||
"rank": 50
|
||||
},
|
||||
{
|
||||
"name": "move-cell-down",
|
||||
"command": "notebook:move-cell-down",
|
||||
"disabled": false,
|
||||
"rank": 50
|
||||
},
|
||||
{
|
||||
"name": "insert-cell-above",
|
||||
"command": "notebook:insert-cell-above",
|
||||
"disabled": false,
|
||||
"rank": 50
|
||||
},
|
||||
{
|
||||
"name": "insert-cell-below",
|
||||
"command": "notebook:insert-cell-below",
|
||||
"disabled": false,
|
||||
"rank": 50
|
||||
},
|
||||
{
|
||||
"name": "delete-cell",
|
||||
"command": "notebook:delete-cell",
|
||||
"disabled": false,
|
||||
"icon": "ui-components:delete",
|
||||
"rank": 50
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
{
|
||||
// CodeMirror
|
||||
// @jupyterlab/codemirror-extension:commands
|
||||
// Text editor settings for all CodeMirror editors.
|
||||
// ************************************************
|
||||
|
||||
// Theme
|
||||
// CSS file defining the corresponding
|
||||
// .cm-s-[name] styles is loaded
|
||||
"theme": "jupyter"
|
||||
}
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"providerTimeout": 1000,
|
||||
"showDocumentationPanel": false,
|
||||
"autoCompletion": false,
|
||||
"availableProviders": {
|
||||
"CompletionProvider:context": 500,
|
||||
"CompletionProvider:kernel": 550
|
||||
}
|
||||
}
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
{
|
||||
// Code Console
|
||||
// @jupyterlab/console-extension:tracker
|
||||
// Code Console settings.
|
||||
// *************************************
|
||||
|
||||
// Prompt Cell Configuration
|
||||
// The configuration for all prompt cells; it will override the CodeMirror default configuration.
|
||||
"promptCellConfig": {
|
||||
"codeFolding": false,
|
||||
"lineNumbers": false,
|
||||
"autoClosingBrackets": false
|
||||
}
|
||||
}
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
{
|
||||
"toolbar": [
|
||||
{
|
||||
"name": "delimiter",
|
||||
"command": "",
|
||||
"disabled": false,
|
||||
"rank": 10
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
{
|
||||
"toolbar": [
|
||||
{
|
||||
"name": "delimiter",
|
||||
"command": "",
|
||||
"disabled": false,
|
||||
"rank": 10
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
{
|
||||
// Extension Manager
|
||||
// @jupyterlab/extensionmanager-extension:plugin
|
||||
// Extension manager settings.
|
||||
// *********************************************
|
||||
|
||||
// Disclaimed Status
|
||||
// Whether the user agrees the access to external web services and understands extensions may introduce security risks or contain malicious code that runs on his machine.
|
||||
"disclaimed": true
|
||||
}
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
{
|
||||
"toolbar": [
|
||||
{
|
||||
"name": "new-launcher",
|
||||
"command": "launcher:create",
|
||||
"disabled": false,
|
||||
"rank": 1
|
||||
},
|
||||
{
|
||||
"name": "new-directory",
|
||||
"command": "filebrowser:create-new-directory",
|
||||
"disabled": false,
|
||||
"rank": 10
|
||||
},
|
||||
{
|
||||
"name": "uploader",
|
||||
"command": "",
|
||||
"disabled": false,
|
||||
"rank": 20
|
||||
},
|
||||
{
|
||||
"name": "refresh",
|
||||
"command": "filebrowser:refresh",
|
||||
"disabled": false,
|
||||
"rank": 30
|
||||
},
|
||||
{
|
||||
"name": "fileNameSearcher",
|
||||
"command": "",
|
||||
"disabled": false,
|
||||
"rank": 40
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
{
|
||||
// Text Editor
|
||||
// @jupyterlab/fileeditor-extension:plugin
|
||||
// Text editor settings.
|
||||
// ***************************************
|
||||
|
||||
// Editor Configuration
|
||||
// The configuration for all text editors; it will override the CodeMirror default configuration.
|
||||
// If `fontFamily`, `fontSize` or `lineHeight` are `null`,
|
||||
// values from current theme are used.
|
||||
"editorConfig": {
|
||||
"lineNumbers": true,
|
||||
"autoClosingBrackets": false,
|
||||
"theme": "jupyter"
|
||||
}
|
||||
}
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
{
|
||||
"toolbar": [
|
||||
{
|
||||
"name": "refresh",
|
||||
"command": "",
|
||||
"disabled": false,
|
||||
"rank": 10
|
||||
},
|
||||
{
|
||||
"name": "trust",
|
||||
"command": "",
|
||||
"disabled": false,
|
||||
"rank": 20
|
||||
}
|
||||
],
|
||||
"trustByDefault": false
|
||||
}
|
||||
|
|
@ -1,90 +0,0 @@
|
|||
{
|
||||
"toolbar": [
|
||||
{
|
||||
"name": "save",
|
||||
"command": "",
|
||||
"disabled": false,
|
||||
"rank": 10
|
||||
},
|
||||
{
|
||||
"name": "insert",
|
||||
"command": "notebook:insert-cell-below",
|
||||
"disabled": false,
|
||||
"icon": "ui-components:add",
|
||||
"rank": 20
|
||||
},
|
||||
{
|
||||
"name": "cut",
|
||||
"command": "notebook:cut-cell",
|
||||
"disabled": false,
|
||||
"rank": 21
|
||||
},
|
||||
{
|
||||
"name": "copy",
|
||||
"command": "notebook:copy-cell",
|
||||
"disabled": false,
|
||||
"rank": 22
|
||||
},
|
||||
{
|
||||
"name": "paste",
|
||||
"command": "notebook:paste-cell-below",
|
||||
"disabled": false,
|
||||
"rank": 23
|
||||
},
|
||||
{
|
||||
"name": "run",
|
||||
"command": "notebook:run-cell-and-select-next",
|
||||
"disabled": false,
|
||||
"rank": 30
|
||||
},
|
||||
{
|
||||
"name": "interrupt",
|
||||
"command": "notebook:interrupt-kernel",
|
||||
"disabled": false,
|
||||
"rank": 31
|
||||
},
|
||||
{
|
||||
"name": "restart",
|
||||
"command": "notebook:restart-kernel",
|
||||
"disabled": false,
|
||||
"rank": 32
|
||||
},
|
||||
{
|
||||
"name": "restart-and-run",
|
||||
"command": "notebook:restart-run-all",
|
||||
"disabled": false,
|
||||
"rank": 33
|
||||
},
|
||||
{
|
||||
"name": "cellType",
|
||||
"command": "",
|
||||
"disabled": false,
|
||||
"rank": 40
|
||||
},
|
||||
{
|
||||
"name": "spacer",
|
||||
"command": "",
|
||||
"disabled": false,
|
||||
"type": "spacer",
|
||||
"rank": 100
|
||||
},
|
||||
{
|
||||
"name": "interfaceSwitcher",
|
||||
"command": "",
|
||||
"disabled": false,
|
||||
"rank": 990
|
||||
},
|
||||
{
|
||||
"name": "kernelName",
|
||||
"command": "",
|
||||
"disabled": false,
|
||||
"rank": 1000
|
||||
},
|
||||
{
|
||||
"name": "executionProgress",
|
||||
"command": "",
|
||||
"disabled": false,
|
||||
"rank": 1002
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,100 +0,0 @@
|
|||
{
|
||||
// Notebook
|
||||
// @jupyterlab/notebook-extension:tracker
|
||||
// Notebook settings.
|
||||
// **************************************
|
||||
|
||||
// Automatically Start Preferred Kernel
|
||||
// Whether to automatically start the preferred kernel.
|
||||
"autoStartDefaultKernel": true,
|
||||
|
||||
// Code Cell Configuration
|
||||
// The configuration for all code cells; it will override the CodeMirror default configuration.
|
||||
"codeCellConfig": {
|
||||
"lineNumbers": false,
|
||||
"lineWrap": false
|
||||
},
|
||||
|
||||
// Default cell type
|
||||
// The default type (markdown, code, or raw) for new cells
|
||||
"defaultCell": "code",
|
||||
|
||||
// Enable undo/redo actions at the notebook document level.
|
||||
// Enables the undo/redo actions at the notebook document level; aka undoing within a cell may undo the latest notebook change that happen in another cell. This is deprecated and will be removed in 5.0.0.
|
||||
"documentWideUndoRedo": false,
|
||||
|
||||
// Input History Scope
|
||||
// Whether the line history for standard input (e.g. the ipdb prompt) should kept separately for different kernel sessions (`session`) or combined (`global`).
|
||||
"inputHistoryScope": "global",
|
||||
|
||||
// Shut down kernel
|
||||
// Whether to shut down or not the kernel when closing a notebook.
|
||||
"kernelShutdown": false,
|
||||
|
||||
// Kernel status icon configuration
|
||||
// Defines the position and components of execution progress indicator.
|
||||
"kernelStatus": {
|
||||
"showOnStatusBar": false,
|
||||
"showProgress": true
|
||||
},
|
||||
|
||||
// Markdown Cell Configuration
|
||||
// The configuration for all markdown cells; it will override the CodeMirror default configuration.
|
||||
"markdownCellConfig": {
|
||||
"lineNumbers": false,
|
||||
"matchBrackets": false,
|
||||
"autoClosingBrackets": false
|
||||
},
|
||||
|
||||
// The maximum number of output cells to be rendered in the output area.
|
||||
// Defines the maximum number of output cells to be rendered in the output area for cells with many outputs. The output area will have a head and the remaining outputs will be trimmed and not displayed unless the user clicks on the information message. Set to 0 to have the complete display.
|
||||
"maxNumberOutputs": 50,
|
||||
|
||||
// Number of cells to render outside de the viewport
|
||||
// In 'full' windowing mode, this is the number of cells above and below the viewport.
|
||||
"overscanCount": 1,
|
||||
|
||||
// Raw Cell Configuration
|
||||
// The configuration for all raw cells; it will override the CodeMirror default configuration.
|
||||
"rawCellConfig": {
|
||||
"lineNumbers": false,
|
||||
"matchBrackets": false,
|
||||
"autoClosingBrackets": false
|
||||
},
|
||||
|
||||
// Recording timing
|
||||
// Should timing data be recorded in cell metadata
|
||||
"recordTiming": false,
|
||||
|
||||
// Rendering Layout
|
||||
// Global setting to define the rendering layout in notebooks. 'default' or 'side-by-side' are supported.
|
||||
"renderingLayout": "default",
|
||||
|
||||
// Scroll past last cell
|
||||
// Whether to be able to scroll so the last cell is at the top of the panel
|
||||
"scrollPastEnd": true,
|
||||
|
||||
// Show editor for read-only Markdown cells
|
||||
// Should an editor be shown for read-only markdown
|
||||
"showEditorForReadOnlyMarkdown": true,
|
||||
|
||||
// Show hidden cells button if collapsed
|
||||
// If set to true, a button is shown below collapsed headings, indicating how many cells are hidden beneath the collapsed heading.
|
||||
"showHiddenCellsButton": true,
|
||||
|
||||
// Side-by-side left margin override
|
||||
// Side-by-side left margin override.
|
||||
"sideBySideLeftMarginOverride": "10px",
|
||||
|
||||
// Side-by-side output ratio
|
||||
// For the side-by-side rendering, the side-by-side output ratio defines the width of the output vs the input. Set 1 for same size, > 1 for larger output, < 1 for smaller output.
|
||||
"sideBySideOutputRatio": 1,
|
||||
|
||||
// Side-by-side right margin override
|
||||
// Side-by-side right margin override.
|
||||
"sideBySideRightMarginOverride": "10px",
|
||||
|
||||
// Windowing mode
|
||||
// 'defer': Improve loading time - Wait for idle CPU cycles to attach out of viewport cells - 'full': Best performance with side effects - Attach to the DOM only cells in viewport - 'none': Worst performance without side effects - Attach all cells to the viewport
|
||||
"windowingMode": "defer"
|
||||
}
|
||||
|
|
@ -1,983 +0,0 @@
|
|||
{
|
||||
"shortcuts": [
|
||||
{
|
||||
"command": "application:activate-next-tab",
|
||||
"keys": [
|
||||
"Ctrl Shift ]"
|
||||
],
|
||||
"selector": "body",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "application:activate-next-tab-bar",
|
||||
"keys": [
|
||||
"Ctrl Shift ."
|
||||
],
|
||||
"selector": "body",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "application:activate-previous-tab",
|
||||
"keys": [
|
||||
"Ctrl Shift ["
|
||||
],
|
||||
"selector": "body",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "application:activate-previous-tab-bar",
|
||||
"keys": [
|
||||
"Ctrl Shift ,"
|
||||
],
|
||||
"selector": "body",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "application:close",
|
||||
"keys": [
|
||||
"Alt W"
|
||||
],
|
||||
"selector": ".jp-Activity",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "application:toggle-left-area",
|
||||
"keys": [
|
||||
"Accel B"
|
||||
],
|
||||
"selector": "body",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "application:toggle-mode",
|
||||
"keys": [
|
||||
"Accel Shift D"
|
||||
],
|
||||
"selector": "body",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "apputils:activate-command-palette",
|
||||
"keys": [
|
||||
"Accel Shift C"
|
||||
],
|
||||
"selector": "body",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "apputils:display-shortcuts",
|
||||
"keys": [
|
||||
"Accel Shift H"
|
||||
],
|
||||
"selector": "body",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "apputils:print",
|
||||
"keys": [
|
||||
"Accel P"
|
||||
],
|
||||
"selector": "body",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "completer:invoke-console",
|
||||
"keys": [
|
||||
"Tab"
|
||||
],
|
||||
"selector": ".jp-CodeConsole-promptCell .jp-mod-completer-enabled",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "completer:invoke-file",
|
||||
"keys": [
|
||||
"Tab"
|
||||
],
|
||||
"selector": ".jp-FileEditor .jp-mod-completer-enabled",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "completer:invoke-notebook",
|
||||
"keys": [
|
||||
"Tab"
|
||||
],
|
||||
"selector": ".jp-Notebook.jp-mod-editMode .jp-mod-completer-enabled",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "console:linebreak",
|
||||
"keys": [
|
||||
"Enter"
|
||||
],
|
||||
"selector": ".jp-CodeConsole[data-jp-interaction-mode='notebook'] .jp-CodeConsole-promptCell",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "console:linebreak",
|
||||
"keys": [
|
||||
"Accel Enter"
|
||||
],
|
||||
"selector": ".jp-CodeConsole[data-jp-interaction-mode='terminal'] .jp-CodeConsole-promptCell",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "console:run-forced",
|
||||
"keys": [
|
||||
"Shift Enter"
|
||||
],
|
||||
"selector": ".jp-CodeConsole[data-jp-interaction-mode='notebook'] .jp-CodeConsole-promptCell",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "console:run-forced",
|
||||
"keys": [
|
||||
"Shift Enter"
|
||||
],
|
||||
"selector": ".jp-CodeConsole[data-jp-interaction-mode='terminal'] .jp-CodeConsole-promptCell",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "console:run-unforced",
|
||||
"keys": [
|
||||
"Enter"
|
||||
],
|
||||
"selector": ".jp-CodeConsole[data-jp-interaction-mode='terminal'] .jp-CodeConsole-promptCell",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "debugger:continue",
|
||||
"keys": [
|
||||
"F9"
|
||||
],
|
||||
"selector": "body",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "debugger:next",
|
||||
"keys": [
|
||||
"F10"
|
||||
],
|
||||
"selector": "body",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "debugger:show-panel",
|
||||
"keys": [
|
||||
"Accel Shift E"
|
||||
],
|
||||
"selector": "body",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "debugger:stepIn",
|
||||
"keys": [
|
||||
"F11"
|
||||
],
|
||||
"selector": "body",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "debugger:stepOut",
|
||||
"keys": [
|
||||
"Shift F11"
|
||||
],
|
||||
"selector": "body",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "debugger:terminate",
|
||||
"keys": [
|
||||
"Shift F9"
|
||||
],
|
||||
"selector": "body",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "docmanager:save",
|
||||
"keys": [
|
||||
"Accel S"
|
||||
],
|
||||
"selector": "body",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "docmanager:save-as",
|
||||
"keys": [
|
||||
"Accel Shift S"
|
||||
],
|
||||
"selector": "body",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "documentsearch:end",
|
||||
"keys": [
|
||||
"Escape"
|
||||
],
|
||||
"selector": ".jp-mod-searchable",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "documentsearch:highlightNext",
|
||||
"keys": [
|
||||
"Accel G"
|
||||
],
|
||||
"selector": ".jp-mod-searchable",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "documentsearch:highlightPrevious",
|
||||
"keys": [
|
||||
"Accel Shift G"
|
||||
],
|
||||
"selector": ".jp-mod-searchable",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "documentsearch:start",
|
||||
"keys": [
|
||||
"Accel F"
|
||||
],
|
||||
"selector": ".jp-mod-searchable",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "editmenu:redo",
|
||||
"keys": [
|
||||
"Accel Shift Z"
|
||||
],
|
||||
"selector": "[data-jp-undoer]",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "editmenu:undo",
|
||||
"keys": [
|
||||
"Accel Z"
|
||||
],
|
||||
"selector": "[data-jp-undoer]",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "extensionmanager:show-panel",
|
||||
"keys": [
|
||||
"Accel Shift X"
|
||||
],
|
||||
"selector": "body",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "filebrowser:copy",
|
||||
"keys": [
|
||||
"Accel C"
|
||||
],
|
||||
"selector": ".jp-DirListing-content .jp-DirListing-itemText",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "filebrowser:cut",
|
||||
"keys": [
|
||||
"Accel X"
|
||||
],
|
||||
"selector": ".jp-DirListing-content .jp-DirListing-itemText",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "filebrowser:delete",
|
||||
"keys": [
|
||||
"Delete"
|
||||
],
|
||||
"selector": ".jp-DirListing-content .jp-DirListing-itemText",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "filebrowser:duplicate",
|
||||
"keys": [
|
||||
"Accel D"
|
||||
],
|
||||
"selector": ".jp-DirListing-content .jp-DirListing-itemText",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "filebrowser:go-up",
|
||||
"keys": [
|
||||
"Backspace"
|
||||
],
|
||||
"selector": ".jp-DirListing:focus",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "filebrowser:go-up",
|
||||
"keys": [
|
||||
"Backspace"
|
||||
],
|
||||
"selector": ".jp-DirListing-content .jp-DirListing-itemText",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "filebrowser:paste",
|
||||
"keys": [
|
||||
"Accel V"
|
||||
],
|
||||
"selector": ".jp-DirListing-content .jp-DirListing-itemText",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "filebrowser:rename",
|
||||
"keys": [
|
||||
"F2"
|
||||
],
|
||||
"selector": ".jp-DirListing-content .jp-DirListing-itemText",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "filebrowser:toggle-main",
|
||||
"keys": [
|
||||
"Accel Shift F"
|
||||
],
|
||||
"selector": "body",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "filemenu:close-and-cleanup",
|
||||
"keys": [
|
||||
"Ctrl Shift Q"
|
||||
],
|
||||
"selector": ".jp-Activity",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "imageviewer:flip-horizontal",
|
||||
"keys": [
|
||||
"H"
|
||||
],
|
||||
"selector": ".jp-ImageViewer",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "imageviewer:flip-vertical",
|
||||
"keys": [
|
||||
"V"
|
||||
],
|
||||
"selector": ".jp-ImageViewer",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "imageviewer:invert-colors",
|
||||
"keys": [
|
||||
"I"
|
||||
],
|
||||
"selector": ".jp-ImageViewer",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "imageviewer:reset-image",
|
||||
"keys": [
|
||||
"0"
|
||||
],
|
||||
"selector": ".jp-ImageViewer",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "imageviewer:rotate-clockwise",
|
||||
"keys": [
|
||||
"]"
|
||||
],
|
||||
"selector": ".jp-ImageViewer",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "imageviewer:rotate-counterclockwise",
|
||||
"keys": [
|
||||
"["
|
||||
],
|
||||
"selector": ".jp-ImageViewer",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "imageviewer:zoom-in",
|
||||
"keys": [
|
||||
"="
|
||||
],
|
||||
"selector": ".jp-ImageViewer",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "imageviewer:zoom-out",
|
||||
"keys": [
|
||||
"-"
|
||||
],
|
||||
"selector": ".jp-ImageViewer",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "inspector:close",
|
||||
"keys": [
|
||||
"Accel I"
|
||||
],
|
||||
"selector": "body[data-jp-inspector='open']",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "inspector:open",
|
||||
"keys": [
|
||||
"Accel I"
|
||||
],
|
||||
"selector": "body",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "kernelmenu:interrupt",
|
||||
"keys": [
|
||||
"I",
|
||||
"I"
|
||||
],
|
||||
"selector": "[data-jp-kernel-user]:focus",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "kernelmenu:restart",
|
||||
"keys": [
|
||||
"0",
|
||||
"0"
|
||||
],
|
||||
"selector": "[data-jp-kernel-user]:focus",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "launcher:create",
|
||||
"keys": [
|
||||
"Accel Shift L"
|
||||
],
|
||||
"selector": "body",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:change-cell-to-code",
|
||||
"keys": [
|
||||
"Y"
|
||||
],
|
||||
"selector": ".jp-Notebook:focus",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:change-cell-to-heading-1",
|
||||
"keys": [
|
||||
"1"
|
||||
],
|
||||
"selector": ".jp-Notebook:focus",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:change-cell-to-heading-2",
|
||||
"keys": [
|
||||
"2"
|
||||
],
|
||||
"selector": ".jp-Notebook:focus",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:change-cell-to-heading-3",
|
||||
"keys": [
|
||||
"3"
|
||||
],
|
||||
"selector": ".jp-Notebook:focus",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:change-cell-to-heading-4",
|
||||
"keys": [
|
||||
"4"
|
||||
],
|
||||
"selector": ".jp-Notebook:focus",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:change-cell-to-heading-5",
|
||||
"keys": [
|
||||
"5"
|
||||
],
|
||||
"selector": ".jp-Notebook:focus",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:change-cell-to-heading-6",
|
||||
"keys": [
|
||||
"6"
|
||||
],
|
||||
"selector": ".jp-Notebook:focus",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:change-cell-to-markdown",
|
||||
"keys": [
|
||||
"M"
|
||||
],
|
||||
"selector": ".jp-Notebook:focus",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:change-cell-to-raw",
|
||||
"keys": [
|
||||
"R"
|
||||
],
|
||||
"selector": ".jp-Notebook:focus",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:collapse-all-headings",
|
||||
"keys": [
|
||||
"Ctrl Shift ArrowLeft"
|
||||
],
|
||||
"selector": ".jp-Notebook.jp-mod-commandMode",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:copy-cell",
|
||||
"keys": [
|
||||
"C"
|
||||
],
|
||||
"selector": ".jp-Notebook:focus",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:cut-cell",
|
||||
"keys": [
|
||||
"X"
|
||||
],
|
||||
"selector": ".jp-Notebook:focus",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:delete-cell",
|
||||
"keys": [
|
||||
"D",
|
||||
"D"
|
||||
],
|
||||
"selector": ".jp-Notebook:focus",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:enter-command-mode",
|
||||
"keys": [
|
||||
"Escape"
|
||||
],
|
||||
"selector": ".jp-Notebook.jp-mod-editMode",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:enter-command-mode",
|
||||
"keys": [
|
||||
"Ctrl M"
|
||||
],
|
||||
"selector": ".jp-Notebook.jp-mod-editMode",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:enter-edit-mode",
|
||||
"keys": [
|
||||
"Enter"
|
||||
],
|
||||
"selector": ".jp-Notebook:focus",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:expand-all-headings",
|
||||
"keys": [
|
||||
"Ctrl Shift ArrowRight"
|
||||
],
|
||||
"selector": ".jp-Notebook.jp-mod-commandMode",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:extend-marked-cells-above",
|
||||
"keys": [
|
||||
"Shift ArrowUp"
|
||||
],
|
||||
"selector": ".jp-Notebook:focus",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:extend-marked-cells-above",
|
||||
"keys": [
|
||||
"Shift K"
|
||||
],
|
||||
"selector": ".jp-Notebook:focus",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:extend-marked-cells-below",
|
||||
"keys": [
|
||||
"Shift ArrowDown"
|
||||
],
|
||||
"selector": ".jp-Notebook:focus",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:extend-marked-cells-below",
|
||||
"keys": [
|
||||
"Shift J"
|
||||
],
|
||||
"selector": ".jp-Notebook:focus",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:extend-marked-cells-bottom",
|
||||
"keys": [
|
||||
"Shift End"
|
||||
],
|
||||
"selector": ".jp-Notebook:focus",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:extend-marked-cells-top",
|
||||
"keys": [
|
||||
"Shift Home"
|
||||
],
|
||||
"selector": ".jp-Notebook:focus",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:insert-cell-above",
|
||||
"keys": [
|
||||
"A"
|
||||
],
|
||||
"selector": ".jp-Notebook:focus",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:insert-cell-below",
|
||||
"keys": [
|
||||
"B"
|
||||
],
|
||||
"selector": ".jp-Notebook:focus",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:insert-heading-above",
|
||||
"keys": [
|
||||
"Shift A"
|
||||
],
|
||||
"selector": ".jp-Notebook:focus",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:insert-heading-below",
|
||||
"keys": [
|
||||
"Shift B"
|
||||
],
|
||||
"selector": ".jp-Notebook:focus",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:merge-cell-above",
|
||||
"keys": [
|
||||
"Ctrl Backspace"
|
||||
],
|
||||
"selector": ".jp-Notebook:focus",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:merge-cell-below",
|
||||
"keys": [
|
||||
"Ctrl Shift M"
|
||||
],
|
||||
"selector": ".jp-Notebook:focus",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:merge-cells",
|
||||
"keys": [
|
||||
"Shift M"
|
||||
],
|
||||
"selector": ".jp-Notebook:focus",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:move-cell-down",
|
||||
"keys": [
|
||||
"Ctrl Shift ArrowDown"
|
||||
],
|
||||
"selector": ".jp-Notebook:focus",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:move-cell-up",
|
||||
"keys": [
|
||||
"Ctrl Shift ArrowUp"
|
||||
],
|
||||
"selector": ".jp-Notebook:focus",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:move-cursor-down",
|
||||
"keys": [
|
||||
"ArrowDown"
|
||||
],
|
||||
"selector": "[data-jp-traversable]:focus",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:move-cursor-down",
|
||||
"keys": [
|
||||
"J"
|
||||
],
|
||||
"selector": "[data-jp-traversable]:focus",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:move-cursor-heading-above-or-collapse",
|
||||
"keys": [
|
||||
"ArrowLeft"
|
||||
],
|
||||
"selector": ".jp-Notebook:focus.jp-mod-commandMode",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:move-cursor-heading-below-or-expand",
|
||||
"keys": [
|
||||
"ArrowRight"
|
||||
],
|
||||
"selector": ".jp-Notebook:focus.jp-mod-commandMode",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:move-cursor-up",
|
||||
"keys": [
|
||||
"ArrowUp"
|
||||
],
|
||||
"selector": "[data-jp-traversable]:focus",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:move-cursor-up",
|
||||
"keys": [
|
||||
"K"
|
||||
],
|
||||
"selector": "[data-jp-traversable]:focus",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:paste-cell-below",
|
||||
"keys": [
|
||||
"V"
|
||||
],
|
||||
"selector": ".jp-Notebook:focus",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:redo-cell-action",
|
||||
"keys": [
|
||||
"Shift Z"
|
||||
],
|
||||
"selector": ".jp-Notebook:focus",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:run-cell",
|
||||
"keys": [],
|
||||
"macKeys": [
|
||||
"Ctrl Enter"
|
||||
],
|
||||
"selector": ".jp-Notebook:focus",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:run-cell",
|
||||
"keys": [],
|
||||
"macKeys": [
|
||||
"Ctrl Enter"
|
||||
],
|
||||
"selector": ".jp-Notebook.jp-mod-editMode",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:run-cell",
|
||||
"keys": [
|
||||
"Accel Enter"
|
||||
],
|
||||
"selector": ".jp-Notebook:focus",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:run-cell",
|
||||
"keys": [
|
||||
"Accel Enter"
|
||||
],
|
||||
"selector": ".jp-Notebook.jp-mod-editMode",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:run-cell-and-insert-below",
|
||||
"keys": [
|
||||
"Alt Enter"
|
||||
],
|
||||
"selector": ".jp-Notebook:focus",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:run-cell-and-insert-below",
|
||||
"keys": [
|
||||
"Alt Enter"
|
||||
],
|
||||
"selector": ".jp-Notebook.jp-mod-editMode",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:run-cell-and-select-next",
|
||||
"keys": [
|
||||
"Shift Enter"
|
||||
],
|
||||
"selector": ".jp-Notebook.jp-mod-editMode",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:select-all",
|
||||
"keys": [
|
||||
"Accel A"
|
||||
],
|
||||
"selector": ".jp-Notebook:focus",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:toggle-render-side-by-side-current",
|
||||
"keys": [
|
||||
"Shift R"
|
||||
],
|
||||
"macKeys": [
|
||||
"Ctrl Enter"
|
||||
],
|
||||
"selector": ".jp-Notebook:focus",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:undo-cell-action",
|
||||
"keys": [
|
||||
"Z"
|
||||
],
|
||||
"macKeys": [
|
||||
"Ctrl Enter"
|
||||
],
|
||||
"selector": ".jp-Notebook:focus",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "property-inspector:show-panel",
|
||||
"keys": [
|
||||
"Accel Shift U"
|
||||
],
|
||||
"selector": "body",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "runmenu:run",
|
||||
"keys": [
|
||||
"Shift Enter"
|
||||
],
|
||||
"selector": "[data-jp-code-runner]",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "running:show-panel",
|
||||
"keys": [
|
||||
"Accel Shift B"
|
||||
],
|
||||
"selector": "body",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "settingeditor:open",
|
||||
"keys": [
|
||||
"Accel ,"
|
||||
],
|
||||
"selector": "body",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "settingeditor:save",
|
||||
"keys": [
|
||||
"Accel S"
|
||||
],
|
||||
"selector": ".jp-SettingEditor",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "tabsmenu:activate-previously-used-tab",
|
||||
"keys": [
|
||||
"Accel Shift '"
|
||||
],
|
||||
"selector": "body",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "toc:show-panel",
|
||||
"keys": [
|
||||
"Accel Shift K"
|
||||
],
|
||||
"selector": "body",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "tooltip:dismiss",
|
||||
"keys": [
|
||||
"Escape"
|
||||
],
|
||||
"selector": "body.jp-mod-tooltip .jp-Notebook",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "tooltip:dismiss",
|
||||
"keys": [
|
||||
"Escape"
|
||||
],
|
||||
"selector": "body.jp-mod-tooltip .jp-CodeConsole-promptCell",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "tooltip:launch-console",
|
||||
"keys": [
|
||||
"Shift Tab"
|
||||
],
|
||||
"selector": ".jp-CodeConsole-promptCell .jp-InputArea-editor:not(.jp-mod-has-primary-selection):not(.jp-mod-in-leading-whitespace)",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "tooltip:launch-file",
|
||||
"keys": [
|
||||
"Shift Tab"
|
||||
],
|
||||
"selector": ".jp-FileEditor .jp-CodeMirrorEditor:not(.jp-mod-has-primary-selection):not(.jp-mod-in-leading-whitespace)",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "tooltip:launch-notebook",
|
||||
"keys": [
|
||||
"Shift Tab"
|
||||
],
|
||||
"selector": ".jp-Notebook.jp-mod-editMode .jp-InputArea-editor:not(.jp-mod-has-primary-selection):not(.jp-mod-in-leading-whitespace):not(.jp-mod-completer-active)",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "viewmenu:line-numbering",
|
||||
"keys": [
|
||||
"Shift L"
|
||||
],
|
||||
"selector": ".jp-Notebook.jp-mod-commandMode",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:split-cell-at-cursor",
|
||||
"keys": [
|
||||
"Ctrl Shift -"
|
||||
],
|
||||
"selector": ".jp-Notebook.jp-mod-editMode",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"command": "notebook:toggle-all-cell-line-numbers",
|
||||
"keys": [
|
||||
"Shift L"
|
||||
],
|
||||
"selector": ".jp-Notebook:focus",
|
||||
"args": {}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
// Terminal
|
||||
// @jupyterlab/terminal-extension:plugin
|
||||
// Terminal settings.
|
||||
// *************************************
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"data":{"layout-restorer:data":{"main":{"dock":{"type":"tab-area","currentIndex":0,"widgets":[]}},"down":{"size":0,"widgets":[]},"left":{"collapsed":false,"current":"filebrowser","widgets":["filebrowser","running-sessions","@jupyterlab/toc:plugin","extensionmanager.main-view"]},"right":{"collapsed":true,"widgets":["jp-property-inspector","debugger-sidebar"]},"relativeSizes":[0.22233718457205265,0.7776628154279474,0]}},"metadata":{"id":"auto-0"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"data":{"layout-restorer:data":{"main":{"dock":{"type":"tab-area","currentIndex":0,"widgets":["notebook:notebooks/count_tf_df_analysis.ipynb","notebook:notebooks/exploration_soft_skills.ipynb","notebook:notebooks/exploration_coop_postings.ipynb","notebook:notebooks/tf_idf_programs.ipynb"]},"current":"notebook:notebooks/count_tf_df_analysis.ipynb"},"down":{"size":0,"widgets":[]},"left":{"collapsed":false,"visible":true,"current":"filebrowser","widgets":["filebrowser","running-sessions","@jupyterlab/toc:plugin","extensionmanager.main-view"],"widgetStates":{"jp-running-sessions":{"sizes":[0.25,0.25,0.25,0.25],"expansionStates":[false,false,false,false]},"extensionmanager.main-view":{"sizes":[0,1,0],"expansionStates":[false,false,false]}}},"right":{"collapsed":true,"visible":true,"widgets":["jp-property-inspector","debugger-sidebar"],"widgetStates":{"jp-debugger-sidebar":{"sizes":[0.2,0.2,0.2,0.2,0.2],"expansionStates":[false,false,false,false,false]}}},"relativeSizes":[0.1298499741334713,0.8701500258665287,0],"top":{"simpleVisibility":true}},"file-browser-filebrowser:cwd":{"path":"notebooks"},"notebook:notebooks/count_tf_df_analysis.ipynb":{"data":{"path":"notebooks/count_tf_df_analysis.ipynb","factory":"Notebook"}},"notebook:notebooks/exploration_soft_skills.ipynb":{"data":{"path":"notebooks/exploration_soft_skills.ipynb","factory":"Notebook"}},"notebook:notebooks/exploration_coop_postings.ipynb":{"data":{"path":"notebooks/exploration_coop_postings.ipynb","factory":"Notebook"}},"notebook:notebooks/tf_idf_programs.ipynb":{"data":{"path":"notebooks/tf_idf_programs.ipynb","factory":"Notebook"}}},"metadata":{"id":"auto-1"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"data":{"layout-restorer:data":{"main":{"dock":{"type":"tab-area","currentIndex":3,"widgets":["notebook:notebooks/figures_tf_idf_programe_name.ipynb","notebook:notebooks/tf_idf_timeline.ipynb","notebook:notebooks/tf_idf_programs.ipynb","notebook:notebooks/count_tf_df_analysis.ipynb","notebook:notebooks/exploration_coop_postings.ipynb","notebook:notebooks/exploration_soft_skills.ipynb"]},"current":"notebook:notebooks/count_tf_df_analysis.ipynb"},"down":{"size":0,"widgets":[]},"left":{"collapsed":false,"current":"filebrowser","widgets":["filebrowser","running-sessions","@jupyterlab/toc:plugin","extensionmanager.main-view"]},"right":{"collapsed":true,"widgets":["jp-property-inspector","debugger-sidebar"]},"relativeSizes":[0.22236718127129082,0.7776328187287092,0]},"file-browser-filebrowser:cwd":{"path":"notebooks"},"notebook:notebooks/exploration_coop_postings.ipynb":{"data":{"path":"notebooks/exploration_coop_postings.ipynb","factory":"Notebook"}},"notebook:notebooks/exploration_soft_skills.ipynb":{"data":{"path":"notebooks/exploration_soft_skills.ipynb","factory":"Notebook"}},"notebook:notebooks/figures_tf_idf_programe_name.ipynb":{"data":{"path":"notebooks/figures_tf_idf_programe_name.ipynb","factory":"Notebook"}},"notebook:notebooks/tf_idf_timeline.ipynb":{"data":{"path":"notebooks/tf_idf_timeline.ipynb","factory":"Notebook"}},"notebook:notebooks/tf_idf_programs.ipynb":{"data":{"path":"notebooks/tf_idf_programs.ipynb","factory":"Notebook"}},"notebook:notebooks/count_tf_df_analysis.ipynb":{"data":{"path":"notebooks/count_tf_df_analysis.ipynb","factory":"Notebook"}}},"metadata":{"id":"auto-2"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"data":{"layout-restorer:data":{"main":{"dock":{"type":"tab-area","currentIndex":2,"widgets":["notebook:notebooks/Untitled.ipynb","notebook:notebooks/figures_tf_idf_programe_name.ipynb","notebook:notebooks/figures_tf_idf_years.ipynb"]},"current":"notebook:notebooks/figures_tf_idf_years.ipynb"},"down":{"size":0,"widgets":[]},"left":{"collapsed":false,"visible":true,"current":"@jupyterlab/toc:plugin","widgets":["filebrowser","running-sessions","@jupyterlab/toc:plugin","extensionmanager.main-view"]},"right":{"collapsed":true,"visible":true,"widgets":["jp-property-inspector","debugger-sidebar"]},"relativeSizes":[0.2664543524416136,0.7335456475583864,0],"top":{"simpleVisibility":true}},"file-browser-filebrowser:cwd":{"path":"notebooks"},"notebook:notebooks/Untitled.ipynb":{"data":{"path":"notebooks/Untitled.ipynb","factory":"Notebook"}},"notebook:notebooks/figures_tf_idf_programe_name.ipynb":{"data":{"path":"notebooks/figures_tf_idf_programe_name.ipynb","factory":"Notebook"}},"notebook:notebooks/figures_tf_idf_years.ipynb":{"data":{"path":"notebooks/figures_tf_idf_years.ipynb","factory":"Notebook"}}},"metadata":{"id":"auto-3"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"data":{"layout-restorer:data":{"main":{"dock":{"type":"tab-area","currentIndex":1,"widgets":["notebook:notebooks/count_tf_df_analysis.ipynb"]},"current":"notebook:notebooks/count_tf_df_analysis.ipynb"},"down":{"size":0,"widgets":[]},"left":{"collapsed":false,"current":"filebrowser","widgets":["filebrowser","running-sessions","@jupyterlab/toc:plugin","extensionmanager.main-view"]},"right":{"collapsed":true,"widgets":["jp-property-inspector","debugger-sidebar"]},"relativeSizes":[0.22233718457205265,0.7776628154279474,0]},"file-browser-filebrowser:cwd":{"path":"notebooks"},"notebook:notebooks/count_tf_df_analysis.ipynb":{"data":{"path":"notebooks/count_tf_df_analysis.ipynb","factory":"Notebook"}}},"metadata":{"id":"auto-4"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"data":{"layout-restorer:data":{"main":{"dock":{"type":"tab-area","currentIndex":3,"widgets":["notebook:notebooks/figures_tf_idf_years.ipynb","notebook:notebooks/tf_idf_programs.ipynb","notebook:notebooks/tf_idf_timeline.ipynb"]},"current":"notebook:notebooks/tf_idf_timeline.ipynb"},"down":{"size":0,"widgets":[]},"left":{"collapsed":false,"visible":true,"current":"filebrowser","widgets":["filebrowser","running-sessions","@jupyterlab/toc:plugin","extensionmanager.main-view"]},"right":{"collapsed":true,"visible":true,"widgets":["jp-property-inspector","debugger-sidebar"]},"relativeSizes":[0.07622228970543578,0.9237777102945642,0],"top":{"simpleVisibility":true}},"file-browser-filebrowser:cwd":{"path":"notebooks"},"notebook:notebooks/figures_tf_idf_years.ipynb":{"data":{"path":"notebooks/figures_tf_idf_years.ipynb","factory":"Notebook"}},"notebook:notebooks/tf_idf_programs.ipynb":{"data":{"path":"notebooks/tf_idf_programs.ipynb","factory":"Notebook"}},"notebook:notebooks/tf_idf_timeline.ipynb":{"data":{"path":"notebooks/tf_idf_timeline.ipynb","factory":"Notebook"}}},"metadata":{"id":"auto-9"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"data":{"layout-restorer:data":{"main":{"dock":{"type":"tab-area","currentIndex":1,"widgets":["notebook:notebooks/count_tf_df_analysis.ipynb"]},"current":"notebook:notebooks/count_tf_df_analysis.ipynb"},"down":{"size":0,"widgets":[]},"left":{"collapsed":false,"visible":true,"current":"filebrowser","widgets":["filebrowser","running-sessions","@jupyterlab/toc:plugin","extensionmanager.main-view"],"widgetStates":{"jp-running-sessions":{"sizes":[0.25,0.25,0.25,0.25],"expansionStates":[false,false,false,false]},"extensionmanager.main-view":{"sizes":[0.3333333333333333,0.3333333333333333,0.3333333333333333],"expansionStates":[false,false,false]}}},"right":{"collapsed":true,"visible":true,"widgets":["jp-property-inspector","debugger-sidebar"],"widgetStates":{"jp-debugger-sidebar":{"sizes":[0.2,0.2,0.2,0.2,0.2],"expansionStates":[false,false,false,false,false]}}},"relativeSizes":[0.1298499741334713,0.8701500258665287,0],"top":{"simpleVisibility":true}},"file-browser-filebrowser:cwd":{"path":"notebooks"},"notebook:notebooks/count_tf_df_analysis.ipynb":{"data":{"path":"notebooks/count_tf_df_analysis.ipynb","factory":"Notebook"}}},"metadata":{"id":"auto-a"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"data":{"layout-restorer:data":{"main":{"dock":{"type":"tab-area","currentIndex":1,"widgets":["notebook:notebooks/count_tf_df_analysis.ipynb","notebook:notebooks/tf_idf_timeline.ipynb","notebook:notebooks/tf_idf_programs.ipynb"]},"current":"notebook:notebooks/tf_idf_timeline.ipynb"},"down":{"size":0,"widgets":[]},"left":{"collapsed":false,"current":"filebrowser","widgets":["filebrowser","running-sessions","@jupyterlab/toc:plugin","extensionmanager.main-view"]},"right":{"collapsed":true,"widgets":["jp-property-inspector","debugger-sidebar"]},"relativeSizes":[0.22236718127129082,0.7776328187287092,0]},"file-browser-filebrowser:cwd":{"path":"notebooks"},"notebook:notebooks/count_tf_df_analysis.ipynb":{"data":{"path":"notebooks/count_tf_df_analysis.ipynb","factory":"Notebook"}},"notebook:notebooks/tf_idf_timeline.ipynb":{"data":{"path":"notebooks/tf_idf_timeline.ipynb","factory":"Notebook"}},"notebook:notebooks/tf_idf_programs.ipynb":{"data":{"path":"notebooks/tf_idf_programs.ipynb","factory":"Notebook"}}},"metadata":{"id":"auto-m"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"data":{"layout-restorer:data":{"main":{"dock":{"type":"tab-area","currentIndex":0,"widgets":[]}},"down":{"size":0,"widgets":[]},"left":{"collapsed":false,"visible":true,"current":"filebrowser","widgets":["filebrowser","running-sessions","@jupyterlab/toc:plugin","extensionmanager.main-view"]},"right":{"collapsed":true,"visible":true,"widgets":["jp-property-inspector","debugger-sidebar"]},"relativeSizes":[0.3424283765347885,0.6575716234652115,0],"top":{"simpleVisibility":true}}},"metadata":{"id":"auto-N"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"data":{"layout-restorer:data":{"main":{"dock":{"type":"tab-area","currentIndex":1,"widgets":["notebook:notebooks/tf_idf_programs.ipynb"]},"current":"notebook:notebooks/tf_idf_programs.ipynb"},"down":{"size":0,"widgets":[]},"left":{"collapsed":false,"visible":true,"current":"extensionmanager.main-view","widgets":["filebrowser","running-sessions","@jupyterlab/toc:plugin","extensionmanager.main-view"]},"right":{"collapsed":true,"visible":true,"widgets":["jp-property-inspector","debugger-sidebar"]},"relativeSizes":[0.07622228970543578,0.9237777102945642,0],"top":{"simpleVisibility":true}},"file-browser-filebrowser:cwd":{"path":"notebooks"},"notebook:notebooks/tf_idf_programs.ipynb":{"data":{"path":"notebooks/tf_idf_programs.ipynb","factory":"Notebook"}}},"metadata":{"id":"auto-q"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"data":{"layout-restorer:data":{"main":{"dock":{"type":"tab-area","currentIndex":1,"widgets":["notebook:notebooks/count_tf_df_analysis.ipynb"]},"current":"notebook:notebooks/count_tf_df_analysis.ipynb"},"down":{"size":0,"widgets":[]},"left":{"collapsed":false,"visible":true,"current":"filebrowser","widgets":["filebrowser","running-sessions","@jupyterlab/toc:plugin","extensionmanager.main-view"],"widgetStates":{"jp-running-sessions":{"sizes":[0.25,0.25,0.25,0.25],"expansionStates":[false,false,false,false]},"extensionmanager.main-view":{"sizes":[0.3333333333333333,0.3333333333333333,0.3333333333333333],"expansionStates":[false,false,false]}}},"right":{"collapsed":true,"visible":true,"widgets":["jp-property-inspector","debugger-sidebar"],"widgetStates":{"jp-debugger-sidebar":{"sizes":[0.2,0.2,0.2,0.2,0.2],"expansionStates":[false,false,false,false,false]}}},"relativeSizes":[0.1298499741334713,0.8701500258665287,0],"top":{"simpleVisibility":true}},"file-browser-filebrowser:cwd":{"path":"notebooks"},"notebook:notebooks/count_tf_df_analysis.ipynb":{"data":{"path":"notebooks/count_tf_df_analysis.ipynb","factory":"Notebook"}}},"metadata":{"id":"auto-t"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"data":{"layout-restorer:data":{"main":{"dock":{"type":"tab-area","currentIndex":0,"widgets":["notebook:notebooks/figures_tf_idf_years.ipynb"]},"current":"notebook:notebooks/figures_tf_idf_years.ipynb"},"down":{"size":0,"widgets":[]},"left":{"collapsed":false,"visible":true,"current":"filebrowser","widgets":["filebrowser","running-sessions","@jupyterlab/toc:plugin","extensionmanager.main-view"]},"right":{"collapsed":true,"visible":true,"widgets":["jp-property-inspector","debugger-sidebar"]},"relativeSizes":[0.15561066336019838,0.8443893366398016,0],"top":{"simpleVisibility":true}},"file-browser-filebrowser:cwd":{"path":"notebooks"},"notebook:notebooks/figures_tf_idf_years.ipynb":{"data":{"path":"notebooks/figures_tf_idf_years.ipynb","factory":"Notebook"}}},"metadata":{"id":"auto-V"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"data":{"layout-restorer:data":{"main":{"dock":{"type":"tab-area","currentIndex":0,"widgets":["notebook:notebooks/figures_tf_idf_years.ipynb"]},"current":"notebook:notebooks/figures_tf_idf_years.ipynb"},"down":{"size":0,"widgets":[]},"left":{"collapsed":false,"visible":true,"current":"filebrowser","widgets":["filebrowser","running-sessions","@jupyterlab/toc:plugin","extensionmanager.main-view"]},"right":{"collapsed":false,"visible":true,"current":"debugger-sidebar","widgets":["jp-property-inspector","debugger-sidebar"]},"relativeSizes":[0.07624544349939247,0.8475091130012151,0.07624544349939247],"top":{"simpleVisibility":true}},"file-browser-filebrowser:cwd":{"path":"notebooks"},"notebook:notebooks/figures_tf_idf_years.ipynb":{"data":{"path":"notebooks/figures_tf_idf_years.ipynb","factory":"Notebook"}}},"metadata":{"id":"auto-W"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"data":{"layout-restorer:data":{"main":{"dock":{"type":"tab-area","currentIndex":0,"widgets":[]}},"down":{"size":0,"widgets":[]},"left":{"collapsed":false,"current":"filebrowser","widgets":["filebrowser","running-sessions","@jupyterlab/toc:plugin","extensionmanager.main-view"]},"right":{"collapsed":true,"widgets":["jp-property-inspector","debugger-sidebar"]},"relativeSizes":[0.22233718457205265,0.7776628154279474,0]}},"metadata":{"id":"auto-w"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"data":{"layout-restorer:data":{"main":{"dock":{"type":"tab-area","currentIndex":0,"widgets":[]}},"down":{"size":0,"widgets":[]},"left":{"collapsed":false,"visible":true,"current":"filebrowser","widgets":["filebrowser","running-sessions","@jupyterlab/toc:plugin","extensionmanager.main-view"],"widgetStates":{"jp-running-sessions":{"sizes":[0.25,0.25,0.25,0.25],"expansionStates":[false,false,false,false]},"extensionmanager.main-view":{"sizes":[0.3333333333333333,0.3333333333333333,0.3333333333333333],"expansionStates":[false,false,false]}}},"right":{"collapsed":true,"visible":true,"widgets":["jp-property-inspector","debugger-sidebar"],"widgetStates":{"jp-debugger-sidebar":{"sizes":[0.2,0.2,0.2,0.2,0.2],"expansionStates":[false,false,false,false,false]}}},"relativeSizes":[0.1298499741334713,0.8701500258665287,0],"top":{"simpleVisibility":true}}},"metadata":{"id":"auto-z"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"data":{"layout-restorer:data":{"main":{"dock":{"type":"tab-area","currentIndex":0,"widgets":["notebook:Untitled.ipynb"]},"current":"notebook:Untitled.ipynb"},"down":{"size":0,"widgets":[]},"left":{"collapsed":false,"visible":true,"current":"filebrowser","widgets":["filebrowser","running-sessions","@jupyterlab/toc:plugin","extensionmanager.main-view"],"widgetStates":{"jp-running-sessions":{"sizes":[0.25,0.25,0.25,0.25],"expansionStates":[false,false,false,false]},"extensionmanager.main-view":{"sizes":[0.3333333333333333,0.3333333333333333,0.3333333333333333],"expansionStates":[false,false,false]}}},"right":{"collapsed":true,"visible":true,"widgets":["jp-property-inspector","debugger-sidebar"],"widgetStates":{"jp-debugger-sidebar":{"sizes":[0.2,0.2,0.2,0.2,0.2],"expansionStates":[false,false,false,false,false]}}},"relativeSizes":[0.25397835773392746,0.7460216422660726,0],"top":{"simpleVisibility":true}},"file-browser-filebrowser:cwd":{"path":""},"notebook:Untitled.ipynb":{"data":{"path":"Untitled.ipynb","factory":"Notebook"}}},"metadata":{"id":"default"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"data":{"layout-restorer:data":{"main":{"dock":{"type":"tab-area","currentIndex":0,"widgets":["notebook:Untitled.ipynb"]},"mode":"multiple-document","current":"notebook:Untitled.ipynb"},"left":{"collapsed":false,"current":"running-sessions","widgets":["filebrowser","running-sessions","command-palette","tab-manager"]},"right":{"collapsed":true,"widgets":[]}},"notebook:Untitled.ipynb":{"data":{"path":"Untitled.ipynb","factory":"Notebook"}}},"metadata":{"id":"/lab"}}
|
||||
|
|
@ -1 +0,0 @@
|
|||
2019-06-19T05:20:03.181486
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"load_extensions": {
|
||||
"nbextensions_configurator/config_menu/main": true,
|
||||
"hinterland/hinterland": true,
|
||||
"jupyter_tabnine/main": true,
|
||||
"jupyter-js-widgets/extension": true,
|
||||
"contrib_nbextensions_help_item/main": true
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"load_extensions": {
|
||||
"nbextensions_configurator/tree_tab/main": true
|
||||
}
|
||||
}
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
{
|
||||
"0fb1f2828eeeae418602193a4d04d5ccd121dc74": {
|
||||
"seen": true
|
||||
},
|
||||
"d564445e21a7603ceaf5b28e4e981ac33d23905b": {
|
||||
"seen": true
|
||||
},
|
||||
"e90082157ab36fe43a156f798be33af1f0101d8a": {
|
||||
"seen": true
|
||||
},
|
||||
"608d7f891761d97403a2faf16de02aff3dda2895": {
|
||||
"seen": true
|
||||
},
|
||||
"6c7c5d359b52a7ce16f1e251efb0e609a9c4e9ef": {
|
||||
"seen": true
|
||||
},
|
||||
"a8587a7634f266c21a3498ad4b619099dab155d4": {
|
||||
"seen": true
|
||||
},
|
||||
"5122698b39c2ff9417deb80bd329aee257a51be0": {
|
||||
"seen": true
|
||||
},
|
||||
"b9d150ecb5e02a8359329ac6f34bfa41d1209f9e": {
|
||||
"seen": true
|
||||
},
|
||||
"c8e6c57a45295d2f0982437c629c8ea5408700b7": {
|
||||
"seen": true
|
||||
}
|
||||
}
|
||||
35
setup.sh
35
setup.sh
|
|
@ -12,17 +12,16 @@ git submodule update
|
|||
|
||||
# What directories should be installable by all users including the root user
|
||||
base=(
|
||||
zsh
|
||||
vim
|
||||
nvim
|
||||
# tmux
|
||||
fzf
|
||||
git
|
||||
wezterm
|
||||
)
|
||||
|
||||
# Folders that should, or only need to be installed for a local user on macOS
|
||||
useronly_macos=(
|
||||
zsh
|
||||
yabai
|
||||
skhd
|
||||
oh-my-zsh
|
||||
|
|
@ -42,9 +41,12 @@ useronly=(
|
|||
gh
|
||||
jupyter
|
||||
parallel
|
||||
sk
|
||||
# sk
|
||||
tox
|
||||
firefox
|
||||
direnv
|
||||
starship
|
||||
# p10k
|
||||
)
|
||||
|
||||
# Files to ignore during stow
|
||||
|
|
@ -69,12 +71,12 @@ stowit() {
|
|||
}
|
||||
|
||||
# Function to check if the OS is macOS
|
||||
is_macos() {
|
||||
[[ "$(uname)" == "Darwin" ]]
|
||||
}
|
||||
|
||||
is_linux() {
|
||||
[[ "$(uname)" == "Linux" ]]
|
||||
get_os() {
|
||||
case "$(uname)" in
|
||||
Darwin) echo "macos";;
|
||||
Linux) echo "linux";;
|
||||
*) echo "unknown";;
|
||||
esac
|
||||
}
|
||||
|
||||
# Function to automate firefox profile updater with expect
|
||||
|
|
@ -108,22 +110,25 @@ for app in "${base[@]}"; do
|
|||
stowit "${HOME}" "${app}"
|
||||
done
|
||||
|
||||
# Setup useronly_macos folders only for macOS
|
||||
if is_macos; then
|
||||
case get_os in
|
||||
"macos")
|
||||
for app in "${useronly_macos[@]}"; do
|
||||
if [ "$(id -u)" -ne 0 ]; then
|
||||
stowit "${HOME}" "${app}"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
if is_linux; then
|
||||
;;
|
||||
"linux")
|
||||
for app in "${useronly_linux[@]}"; do
|
||||
if [ "$(id -u)" -ne 0 ]; then
|
||||
stowit "${HOME}" "${app}"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
;;
|
||||
"unknown")
|
||||
echo "Unknown OS."
|
||||
;;
|
||||
esac
|
||||
|
||||
# Setup useronly folders
|
||||
for app in "${useronly[@]}"; do
|
||||
|
|
|
|||
|
|
@ -10,8 +10,17 @@ format = """\
|
|||
$directory\
|
||||
$git_branch\
|
||||
$git_status\
|
||||
$container\
|
||||
$git_metrics\
|
||||
$docker_context\
|
||||
$conda\
|
||||
$golang\
|
||||
$lua\
|
||||
$rust\
|
||||
$c\
|
||||
$python\
|
||||
$package\
|
||||
$line_break\
|
||||
$jobs\
|
||||
$character\
|
||||
"""
|
||||
|
||||
|
|
@ -21,17 +30,17 @@ right_format = """\
|
|||
|
||||
# Git branch configuration
|
||||
[git_branch]
|
||||
format = "[$branch(:$remote_branch)]($style)"
|
||||
format = "[ $branch(:$remote_branch)]($style)"
|
||||
style = "bold red"
|
||||
|
||||
# Git status configuration
|
||||
[git_status]
|
||||
format = '[$all_status]($style)'
|
||||
format = '[ $all_status]($style)'
|
||||
style = "bold green"
|
||||
|
||||
# Git metric configuration
|
||||
[git_metrics]
|
||||
format = '([$added]($added_style) )([$deleted]($deleted_style))'
|
||||
format = '([ $added]($added_style))([ $deleted]($deleted_style))'
|
||||
added_style = "green"
|
||||
deleted_style = "red"
|
||||
disabled = false
|
||||
|
|
@ -43,61 +52,76 @@ error_symbol = "[ ✗](bold red)"
|
|||
|
||||
# Directory
|
||||
[directory]
|
||||
format = "[$path]($style)[$read_only]($read_only_style)"
|
||||
style = "bright-cyan"
|
||||
truncation_length = 3
|
||||
truncation_symbol = "…/"
|
||||
truncation_symbol = "~/…/"
|
||||
|
||||
[line_break]
|
||||
disabled = true
|
||||
|
||||
[jobs]
|
||||
symbol = '+ '
|
||||
format = '[ $symbol$count]($style)'
|
||||
number_threshold = 4
|
||||
symbol_threshold = 0
|
||||
|
||||
[cmd_duration]
|
||||
format = "[$duration]($style)"
|
||||
style = "yellow"
|
||||
|
||||
# Package version
|
||||
[package]
|
||||
style = "purple"
|
||||
|
||||
# Container
|
||||
[container]
|
||||
format = '[$name]'
|
||||
format = '[ $symbol \[$name\]]($style)'
|
||||
style = "orange"
|
||||
|
||||
# Docker
|
||||
[docker_context]
|
||||
format = '[ $symbol$container]($style)'
|
||||
style = "blue"
|
||||
|
||||
# C
|
||||
[c]
|
||||
format = "[ $symbol($version(-$name) )]($style)"
|
||||
style = "bold 149"
|
||||
detect_files = ["Makefile"]
|
||||
|
||||
# Conda
|
||||
[conda]
|
||||
format = "[$environment]"
|
||||
format = "[ $environment]($style)"
|
||||
style = "green"
|
||||
|
||||
# Python
|
||||
[python]
|
||||
pyenv_version_name = true
|
||||
format = "[$version]($style)"
|
||||
format = "[ ${symbol}(${version})(\\($virtualenv\\) )]($style)"
|
||||
# pyenv_version_name = true
|
||||
style = "blue"
|
||||
detect_files = ["Pipfile", "pyproject.toml", "poetry.lock", "requirements.txt"]
|
||||
|
||||
# Golang
|
||||
[golang]
|
||||
format = "[$version]($style)"
|
||||
format = "[ $symbol($version)($mod_version)]($style)"
|
||||
style = "blue"
|
||||
|
||||
# Rust
|
||||
[rust]
|
||||
format = "[$version]($style)"
|
||||
format = "[ $symbol$version]($style)"
|
||||
style = "purple"
|
||||
|
||||
# Lua
|
||||
[lua]
|
||||
format = "[$version]($style)"
|
||||
format = "[ $symbol$version]($style)"
|
||||
style = "purple"
|
||||
|
||||
# Package
|
||||
[package]
|
||||
format = "[ $symbol$version]($style)"
|
||||
style = "208 bold"
|
||||
|
||||
# Directory substitutions
|
||||
[directory.substitutions]
|
||||
"Documents/projects" = "proj"
|
||||
".config" = "config"
|
||||
".dotfiles" = "dot"
|
||||
".local" = "local"
|
||||
|
||||
# Monokai Pro palette
|
||||
[palettes.monokai_pro]
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
let g:netrw_dirhistmax =10
|
||||
let g:netrw_dirhistcnt =9
|
||||
let g:netrw_dirhistcnt =1
|
||||
let g:netrw_dirhist_1='/Users/jfraeys/.local/bin/scripts'
|
||||
let g:netrw_dirhist_0='/Users/jfraeys'
|
||||
let g:netrw_dirhist_9='/Users/jfraeys/.dotfiles/nvim/.config/nvim/lua/custom/plugins'
|
||||
let g:netrw_dirhist_8='/Users/jfraeys/.dotfiles/nvim/.config/nvim/lua/custom/snippets'
|
||||
let g:netrw_dirhist_7='/Users/jfraeys/.dotfiles/nvim/.config/nvim/lua/custom'
|
||||
|
|
@ -8,4 +10,3 @@ let g:netrw_dirhist_5='/Users/jfraeys/Documents/projects/job-req/resume-recomm/j
|
|||
let g:netrw_dirhist_4='/Users/jfraeys/Documents/projects/job-req/resume-recomm'
|
||||
let g:netrw_dirhist_3='/Users/jfraeys/Documents/projects/job-req/resume-recomm/job_req_resume_recomm'
|
||||
let g:netrw_dirhist_2='/Users/jeremiefraeys/.ssh'
|
||||
let g:netrw_dirhist_1='/Users/jeremiefraeys/.oh-my-zsh'
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
local wezterm = require("wezterm")
|
||||
|
||||
-- return table containing the meeting information
|
||||
local M = {}
|
||||
|
||||
M.alert_popup_before_seconds = 15
|
||||
|
|
@ -10,6 +12,9 @@ M.nerd_font_meeting = ""
|
|||
M.ical_buddy = "/usr/local/bin/icalBuddy"
|
||||
M.ignored_cal = "Birthdays, Family, Contacts, School, Home, Canadian Holidays, Canadiens, Jours fériés au Canada"
|
||||
|
||||
-- Execute a shell command and return the output
|
||||
-- @param command: The shell command to execute
|
||||
-- @return string: The output of the shell command
|
||||
local function execute_command(command)
|
||||
local f = io.popen(command)
|
||||
if f == nil then
|
||||
|
|
@ -20,15 +25,21 @@ local function execute_command(command)
|
|||
return result
|
||||
end
|
||||
|
||||
-- Check if iCalBuddy is installed
|
||||
-- @return boolean: True if iCalBuddy is installed, false otherwise
|
||||
local function check_ical_buddy()
|
||||
local result = execute_command("test -f " .. M.ical_buddy)
|
||||
if result == "" then
|
||||
if result ~= "" then
|
||||
return true
|
||||
else
|
||||
wezterm.log_error("Error: iCalBuddy is not installed")
|
||||
return false
|
||||
end
|
||||
return true
|
||||
end
|
||||
|
||||
-- Get the next meeting command
|
||||
-- @param event_filter: The event filter to use with iCalBuddy
|
||||
-- @return string: The iCalBuddy command to get the next meeting information
|
||||
local function get_meeting_command(event_filter)
|
||||
return string.format(
|
||||
'%s --includeEventProps "title,datetime,attendees" --propertyOrder "title,datetime" --noCalendarNames --dateFormat "%%A" --includeOnlyEventsFromNowOn --limitItems 1 --excludeAllDayEvents --separateByDate --excludeCals "%s" %s',
|
||||
|
|
@ -38,6 +49,8 @@ local function get_meeting_command(event_filter)
|
|||
)
|
||||
end
|
||||
|
||||
-- Get the next meeting from iCalBuddy
|
||||
-- @return string: The next meeting information
|
||||
local function get_next_meeting()
|
||||
local command = get_meeting_command("eventsToday")
|
||||
local next_meeting = execute_command(command)
|
||||
|
|
@ -47,6 +60,9 @@ local function get_next_meeting()
|
|||
return next_meeting
|
||||
end
|
||||
|
||||
-- Parse the iCalBuddy output
|
||||
-- @param ical_output: The output from iCalBuddy
|
||||
-- @return table: A table containing the meeting information such as title, start time, end time, and attendees list
|
||||
local function parse_result(ical_output)
|
||||
local title, start_time, end_time, attendees
|
||||
for line in ical_output:gmatch("[^\r\n]+") do
|
||||
|
|
@ -58,17 +74,20 @@ local function parse_result(ical_output)
|
|||
attendees = line:gsub("attendees: ", ""):gsub("^%s*(.-)%s*$", "%1")
|
||||
end
|
||||
end
|
||||
title = ical_output:match("[^\r\n]+")
|
||||
title = ical_output:match("[^\r\n]+") -- Assumes the first line is the title
|
||||
return { title = title, start_time = start_time, end_time = end_time, attendees = attendees }
|
||||
end
|
||||
|
||||
-- Calculate the time until the next meeting
|
||||
-- @param start_time: The start time of the meeting in HH:MM format
|
||||
-- @return table: A table containing the minutes until the meeting and the epoch difference
|
||||
local function calculate_times(start_time)
|
||||
if not start_time then
|
||||
return nil
|
||||
return { minutes_till_meeting = -1, epoch_diff = 0 }
|
||||
end
|
||||
|
||||
local current_date = os.date("*t")
|
||||
local epoc_meeting = os.time({
|
||||
local epoch_meeting = os.time({
|
||||
year = current_date.year,
|
||||
month = current_date.month,
|
||||
day = current_date.day,
|
||||
|
|
@ -76,14 +95,24 @@ local function calculate_times(start_time)
|
|||
min = tonumber(start_time:sub(4, 5)),
|
||||
sec = 0,
|
||||
})
|
||||
local epoc_now = os.time()
|
||||
local epoc_diff = epoc_meeting - epoc_now
|
||||
local minutes_till_meeting = math.floor(epoc_diff / 60)
|
||||
local epoch_now = os.time()
|
||||
local epoch_diff = epoch_meeting - epoch_now
|
||||
local minutes_till_meeting = math.floor(epoch_diff / 60)
|
||||
|
||||
return { minutes_till_meeting = minutes_till_meeting, epoc_diff = epoc_diff }
|
||||
return { minutes_till_meeting = minutes_till_meeting, epoch_diff = epoch_diff }
|
||||
end
|
||||
|
||||
local function display_popup(meeting)
|
||||
-- Display a system notification with the meeting information
|
||||
-- @param title: The title of the notification
|
||||
-- @param message: The message of the notification
|
||||
local function send_notification(title, message)
|
||||
local command = string.format('notify-send "%s" "%s"', title, message)
|
||||
os.execute(command)
|
||||
end
|
||||
|
||||
-- Open a new tab with the meeting information
|
||||
-- @param meeting: The meeting object containing the meeting information
|
||||
local function open_meeting_tab(meeting)
|
||||
local meeting_info = string.format(
|
||||
"Title: %s\nStart Time: %s\nEnd Time: %s\nAttendees: %s",
|
||||
meeting.title,
|
||||
|
|
@ -91,61 +120,61 @@ local function display_popup(meeting)
|
|||
meeting.end_time,
|
||||
meeting.attendees
|
||||
)
|
||||
wezterm.gui.show_popup(meeting_info)
|
||||
end
|
||||
|
||||
local function update_tab_bar(times, meeting)
|
||||
local status = wezterm.format({
|
||||
{ Background = { Color = M.theme_bg } },
|
||||
{ Foreground = { Color = M.theme_red } },
|
||||
{
|
||||
Text = string.format(
|
||||
" %s %s (%d minutes) ",
|
||||
M.nerd_font_meeting,
|
||||
meeting.title,
|
||||
times.minutes_till_meeting
|
||||
),
|
||||
},
|
||||
wezterm.mux.spawn_window({
|
||||
title = "Next Meeting",
|
||||
cwd = wezterm.home_dir,
|
||||
command = { "echo", meeting_info }, -- Display meeting info in the new tab
|
||||
})
|
||||
|
||||
if times.epoc_diff <= M.alert_popup_before_seconds then
|
||||
display_popup(meeting)
|
||||
end
|
||||
|
||||
return status
|
||||
end
|
||||
|
||||
-- Check for the next meeting and display a notification if it is starting soon
|
||||
-- @return number: 0 if successful, 1 if iCalBuddy is not installed, -1 if there is no upcoming meeting
|
||||
function M.main()
|
||||
print("here")
|
||||
if not check_ical_buddy() then
|
||||
return ""
|
||||
return 1
|
||||
end
|
||||
|
||||
local next_meeting = get_next_meeting()
|
||||
if not next_meeting then
|
||||
return ""
|
||||
return -1
|
||||
end
|
||||
|
||||
local meeting = parse_result(next_meeting)
|
||||
local times = calculate_times(meeting.start_time)
|
||||
if not times then
|
||||
return ""
|
||||
if times.minutes_till_meeting == -1 then
|
||||
return 0
|
||||
end
|
||||
|
||||
return update_tab_bar(times, meeting)
|
||||
-- Display notification if meeting is starting soon
|
||||
if times.epoch_diff <= M.alert_popup_before_seconds then
|
||||
-- local meeting_message = string.format(
|
||||
-- "Title: %s\nStart Time: %s\nEnd Time: %s\nAttendees: %s",
|
||||
-- meeting.title,
|
||||
-- meeting.start_time,
|
||||
-- meeting.end_time,
|
||||
-- meeting.attendees
|
||||
-- )
|
||||
-- send_notification("Upcoming Meeting", meeting_message)
|
||||
open_meeting_tab(meeting)
|
||||
end
|
||||
|
||||
return 0
|
||||
end
|
||||
|
||||
-- Set up a timer to check for meetings periodically
|
||||
-- @param interval_seconds: The interval in seconds to check for meetings periodically. Default is 60 seconds
|
||||
function M.setup_update_timer(interval_seconds)
|
||||
interval_seconds = interval_seconds or 60 -- Default interval is 60 seconds
|
||||
|
||||
local function update()
|
||||
local meeting_status = M.main()
|
||||
if meeting_status ~= "" then
|
||||
wezterm.on("update-right-status", function(window)
|
||||
window:set_right_status(wezterm.format({
|
||||
{ Text = meeting_status },
|
||||
}))
|
||||
end)
|
||||
local exit_code = M.main()
|
||||
if exit_code == -1 then
|
||||
wezterm.log_debug("No upcoming meeting found.")
|
||||
elseif exit_code == 1 then
|
||||
wezterm.log_error("Error: iCalBuddy is not installed")
|
||||
elseif exit_code ~= 0 then
|
||||
wezterm.log_error("Error checking for meetings")
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -156,4 +185,43 @@ function M.setup_update_timer(interval_seconds)
|
|||
wezterm.update_built_in_timer("meeting_notifier_update", interval_seconds, update)
|
||||
end
|
||||
|
||||
-- Test the meeting notifier functions
|
||||
-- This function is for testing purposes only
|
||||
function M.test_meeting_notifier()
|
||||
-- Test if iCalBuddy is installed
|
||||
local icalbuddy_installed = check_ical_buddy()
|
||||
wezterm.log_info("iCalBuddy Check: ", icalbuddy_installed)
|
||||
|
||||
-- Test getting the next meeting
|
||||
local next_meeting = get_next_meeting()
|
||||
wezterm.log_info("Next Meeting: ", next_meeting)
|
||||
|
||||
if next_meeting and next_meeting ~= "" then
|
||||
-- Test parsing the meeting result
|
||||
local meeting = parse_result(next_meeting)
|
||||
wezterm.log_info("Parsed Meeting:")
|
||||
wezterm.log_info("Title: ", meeting.title)
|
||||
wezterm.log_info("Start Time: ", meeting.start_time)
|
||||
wezterm.log_info("End Time: ", meeting.end_time)
|
||||
wezterm.log_info("Attendees: ", meeting.attendees)
|
||||
|
||||
-- Test calculating times
|
||||
local times = calculate_times(meeting.start_time)
|
||||
wezterm.log_info("Time Until Meeting: ", times.minutes_till_meeting, " minutes (", times.epoch_diff, " seconds)")
|
||||
|
||||
-- Test notification function
|
||||
local meeting_message = string.format(
|
||||
"Title: %s\nStart Time: %s\nEnd Time: %s\nAttendees: %s",
|
||||
meeting.title,
|
||||
meeting.start_time,
|
||||
meeting.end_time,
|
||||
meeting.attendees
|
||||
)
|
||||
send_notification("Test Notification", meeting_message)
|
||||
else
|
||||
wezterm.log_info("No upcoming meeting found.")
|
||||
end
|
||||
end
|
||||
|
||||
return M
|
||||
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@ local act = wezterm.action
|
|||
|
||||
-- Pull custom modules
|
||||
local theme = require("theme-switcher")
|
||||
-- local meeting_notifier = require("meeting-notifier")
|
||||
local meeting_notifier = require("meeting-notifier")
|
||||
local profiler = require("profiler")
|
||||
local history = require("history")
|
||||
-- local history = require("history")
|
||||
|
||||
local config = {}
|
||||
local keys = {}
|
||||
|
|
@ -17,7 +17,7 @@ if wezterm.config_builer then
|
|||
config = wezterm.config_builder()
|
||||
end
|
||||
|
||||
config.debug_key_events = false
|
||||
config.debug_key_events = true
|
||||
|
||||
if wezterm.target_triple == "x86_64-pc-windows-msvc" then
|
||||
-- Windows-specific settings
|
||||
|
|
@ -25,14 +25,14 @@ if wezterm.target_triple == "x86_64-pc-windows-msvc" then
|
|||
elseif wezterm.target_triple == "x86_64-apple-darwin" then
|
||||
-- macOS-specific settings
|
||||
config.macos_window_background_blur = 10
|
||||
config.default_prog = { "/bin/zsh" }
|
||||
config.default_prog = { "/bin/zsh", "-l" }
|
||||
config.font = wezterm.font_with_fallback({
|
||||
{ family = "MesloLGS NF", scale = 0.9 },
|
||||
{ family = "Symbols Nerd Font", scale = 0.9 },
|
||||
})
|
||||
elseif wezterm.target_triple == "x86_64-unknown-linux-gnu" then
|
||||
-- Linux-specific settings
|
||||
config.default_prog = { "/bin/bash" }
|
||||
config.default_prog = { "/bin/bash", "-l" }
|
||||
config.font = wezterm.font_with_fallback({
|
||||
{ family = "MesloLGS NF", scale = 0.9 },
|
||||
{ family = "Ubuntu Mono", scale = 0.9 },
|
||||
|
|
@ -74,6 +74,7 @@ config.use_fancy_tab_bar = false
|
|||
config.tab_max_width = 25
|
||||
config.switch_to_last_active_tab_when_closing_tab = true
|
||||
config.show_new_tab_button_in_tab_bar = false
|
||||
config.window_close_confirmation = "NeverPrompt"
|
||||
|
||||
config.audible_bell = "Disabled"
|
||||
|
||||
|
|
@ -387,45 +388,46 @@ wezterm.on("gui-startup", function()
|
|||
profiler.startup("WZ_PROJECT", "profiles")
|
||||
end)
|
||||
|
||||
wezterm.on("window-config-reload", function()
|
||||
-- Set up the meeting notifier to check every 60 seconds
|
||||
-- meeting_notifier.setup_update_timer(15)
|
||||
meeting_notifier.test_meeting_notifier()
|
||||
end)
|
||||
|
||||
wezterm.on("mux-is-process-stateful", function(proc)
|
||||
_ = proc
|
||||
return nil
|
||||
end)
|
||||
|
||||
wezterm.on("format-tab-title", function(tab)
|
||||
local pane = tab.active_pane
|
||||
local title = pane.title
|
||||
-- wezterm.on("format-tab-title", function(tab)
|
||||
-- local pane = tab.active_pane
|
||||
-- local title = pane.title
|
||||
--
|
||||
-- if pane.domain_name ~= "local" then
|
||||
-- title = title .. " - (" .. pane.current_working_dir .. ")"
|
||||
-- end
|
||||
--
|
||||
-- return title
|
||||
-- end)
|
||||
|
||||
if pane.domain_name ~= "local" then
|
||||
title = title .. " - (" .. pane.current_working_dir .. ")"
|
||||
end
|
||||
|
||||
return title
|
||||
end)
|
||||
|
||||
-- Setup the update timer for meeting notification
|
||||
-- meeting_notifier.setup_update_timer(5) -- Update every 60 seconds
|
||||
|
||||
wezterm.on("update-right-status", function(window)
|
||||
local stat = window:active_workspace()
|
||||
|
||||
if window:active_key_table() then
|
||||
stat = window:active_key_table()
|
||||
end
|
||||
if window:leader_is_active() then
|
||||
stat = "L"
|
||||
end
|
||||
|
||||
local date = wezterm.strftime("%a %b %-d %H:%M")
|
||||
|
||||
window:set_right_status(wezterm.format({
|
||||
{ Text = stat },
|
||||
{ Text = " | " },
|
||||
{ Text = date },
|
||||
}))
|
||||
end)
|
||||
|
||||
config.default_prog = { "/usr/local/bin/zsh" }
|
||||
-- wezterm.on("update-right-status", function(window)
|
||||
-- local stat = window:active_workspace()
|
||||
--
|
||||
-- if window:active_key_table() then
|
||||
-- stat = window:active_key_table()
|
||||
-- end
|
||||
-- if window:leader_is_active() then
|
||||
-- stat = "L"
|
||||
-- end
|
||||
--
|
||||
-- local date = wezterm.strftime("%a %b %-d %H:%M")
|
||||
--
|
||||
-- window:set_right_status(wezterm.format({
|
||||
-- { Text = stat },
|
||||
-- { Text = " | " },
|
||||
-- { Text = date },
|
||||
-- }))
|
||||
-- end)
|
||||
|
||||
return config
|
||||
|
||||
|
|
|
|||
13
zsh/.fzf.zsh
Executable file
13
zsh/.fzf.zsh
Executable file
|
|
@ -0,0 +1,13 @@
|
|||
# Setup fzf
|
||||
# ---------
|
||||
if [[ ! "$PATH" == */usr/local/opt/fzf/bin* ]]; then
|
||||
PATH="${PATH:+${PATH}:}/usr/local/opt/fzf/bin"
|
||||
fi
|
||||
|
||||
# Auto-completion
|
||||
# ---------------
|
||||
[[ $- == *i* ]] && source "/usr/local/opt/fzf/shell/completion.zsh" 2> /dev/null
|
||||
|
||||
# Key bindings
|
||||
# ------------
|
||||
source "/usr/local/opt/fzf/shell/key-bindings.zsh"
|
||||
106
zsh/.zprofile
106
zsh/.zprofile
|
|
@ -1,93 +1,45 @@
|
|||
if [[ -z "$XDG_CONFIG_HOME" ]]; then
|
||||
export XDG_CONFIG_HOME="$HOME/.config"
|
||||
fi
|
||||
# Ensure XDG_CONFIG_HOME is set
|
||||
: "${XDG_CONFIG_HOME:=$HOME/.config}"
|
||||
|
||||
# Set default pager
|
||||
export PAGER="less -i -N -S -R"
|
||||
|
||||
# export ITERM_ENABLE_SHELL_INTEGRATION_WITH_TMUX=YES
|
||||
|
||||
if [[ -n $SSH_CONNECTION ]]; then
|
||||
export EDITOR='vim'
|
||||
else
|
||||
export EDITOR='nvim'
|
||||
# Ensure PYENV_ROOT is set and its bin directory is in PATH
|
||||
if [[ -n "$PYENV_ROOT" && ! "$PATH" =~ (^|:)${PYENV_ROOT}/bin(:|$) ]]; then
|
||||
export PATH="$PYENV_ROOT/bin:$PATH"
|
||||
fi
|
||||
|
||||
export PYENV_ROOT="$HOME/.pyenv"
|
||||
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
|
||||
eval "$(pyenv init -)"
|
||||
|
||||
# set PATH so it includes user's private ~/.local/bin if it exists
|
||||
if [ -d "$HOME/.local/bin" ] ; then
|
||||
PATH="$HOME/.local/bin:$PATH"
|
||||
# Add ~/.local/bin to PATH if it exists
|
||||
if [[ -d "$HOME/.local/bin" && ! "$PATH" =~ (^|:)${HOME}/.local/bin(:|$) ]]; then
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
fi
|
||||
|
||||
# Set permissions for ~/.local/bin
|
||||
chmod -R ug+rwx "$HOME/.local/bin/"
|
||||
if [ -f fzf_theme ]; then
|
||||
source fzf_theme > /dev/null 2>&1
|
||||
|
||||
# Read fzf theme options if the file exists
|
||||
if [[ -f "$HOME/.local/bin/scripts/fzf_theme" ]]; then
|
||||
FZF_OPTIONS=$("$HOME/.local/bin/scripts/fzf_theme")
|
||||
export FZF_DEFAULT_OPTS="$FZF_OPTIONS"
|
||||
fi
|
||||
|
||||
# Source fzf configuration
|
||||
source <(fzf --zsh)
|
||||
|
||||
# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
|
||||
export PATH="$PATH:$HOME/.rvm/bin"
|
||||
# Add RVM to PATH
|
||||
if [[ ! "$PATH" =~ (^|:)${HOME}/.rvm/bin(:|$) ]]; then
|
||||
export PATH="$PATH:$HOME/.rvm/bin"
|
||||
fi
|
||||
|
||||
# Add Golang to PATH
|
||||
export GOPATH="$HOME/Documents/projects:$HOME/go"
|
||||
export PATH="$PATH:$(go env GOPATH)/bin"
|
||||
if [[ -n "$(go env GOPATH)" && ! "$PATH" =~ (^|:)$(go env GOPATH)/bin(:|$) ]]; then
|
||||
export GOPATH="$HOME/Documents/projects:$HOME/go"
|
||||
export PATH="$PATH:$(go env GOPATH)/bin"
|
||||
fi
|
||||
|
||||
# # Function to activate Python virtual environment if found
|
||||
activate_python_env() {
|
||||
local env_dir
|
||||
# env_dir=$(find . -type f -name activate -exec dirname {} \;)
|
||||
env_dir=$(fd -H -I -t f -d 3 'activate$' | xargs dirname)
|
||||
if [ -n "$env_dir" ]; then
|
||||
source "$env_dir/activate"
|
||||
else
|
||||
echo "No Python virtual environment found in the current directory or its subdirectories."
|
||||
fi
|
||||
}
|
||||
alias act='activate_python_env'
|
||||
|
||||
alias python="python3"
|
||||
alias v="nvim"
|
||||
# alias docker="$HOME/.local/bin/docker_check.sh"
|
||||
# alias tn="tmux new -s $(pwd | sed 's/.*\///g')"
|
||||
alias cat="bat --paging=never"
|
||||
alias grep="grep --color=auto"
|
||||
|
||||
# Basic `ls` replacement with `eza`, grouping directories first
|
||||
alias ls='eza --group-directories-first --color=auto'
|
||||
|
||||
# List all files, including hidden ones, in long format with grouped directories
|
||||
alias la='eza -la --group-directories-first --color=auto'
|
||||
|
||||
# List files in long format with grouped directories
|
||||
alias ll='eza -l --group-directories-first --color=auto'
|
||||
|
||||
# List files sorted by modification time, newest first, in long format with grouped directories
|
||||
alias lt='eza -lt modified --sort newest'
|
||||
|
||||
# List files sorted by size, largest first, in long format with grouped directories
|
||||
alias lS='eza -lS --group-directories-first --color=auto'
|
||||
|
||||
# Display directory tree with a depth limit of 3 levels
|
||||
alias tree='eza --tree --level=3'
|
||||
|
||||
# Display git status alongside files
|
||||
alias lg='eza --git'
|
||||
|
||||
# Add eza completions to FPATH
|
||||
export FPATH="/usr/local/bin/eza/completions/zsh:$FPATH"
|
||||
|
||||
# set bat to highlight --help messages
|
||||
alias bathelp='bat --plain --language=help'
|
||||
help() {
|
||||
"$@" --help 2>&1 | bathelp
|
||||
}
|
||||
|
||||
# overwriting -h and --help with bat highlights
|
||||
alias -g :h='-h 2>&1 | bat --language=help --style=plain'
|
||||
alias -g :help='--help 2>&1 | bat --language=help --style=plain'
|
||||
|
||||
# Initialize zoxide
|
||||
eval "$(zoxide init --cmd cd zsh)"
|
||||
# Cargo setup
|
||||
if [[ -d "$HOME/.cargo/bin" && ! "$PATH" =~ (^|:)${HOME}/.cargo/bin(:|$) ]]; then
|
||||
export PATH="$HOME/.cargo/bin:$PATH"
|
||||
fi
|
||||
|
||||
|
|
|
|||
219
zsh/.zshrc
219
zsh/.zshrc
|
|
@ -1,32 +1,95 @@
|
|||
# Load p10k instant prompt if it exists
|
||||
# if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
|
||||
# source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
|
||||
# fi
|
||||
# zmodload zsh/zprof
|
||||
|
||||
DISABLE_UPDATE_PROMPT=true
|
||||
# Function to clean up and normalize paths
|
||||
path_print_clean() {
|
||||
local var=${1:-PATH}
|
||||
local arr
|
||||
local newarr=()
|
||||
local path
|
||||
local p
|
||||
|
||||
# Add custom paths to $PATH
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
# Read PATH into an array
|
||||
IFS=: arr=(${(s.:.)${(P)var}})
|
||||
|
||||
# Homebrew Configuration
|
||||
# Add Homebrew's installation directory to the PATH
|
||||
if [[ -d /opt/homebrew ]]; then
|
||||
export PATH="/opt/homebrew/bin:/opt/homebrew/sbin:$PATH"
|
||||
elif [[ -d /usr/local ]]; then
|
||||
export PATH="/usr/local/bin:/usr/local/sbin:$PATH"
|
||||
fi
|
||||
# Declare an associative array to keep track of seen paths
|
||||
typeset -A seen
|
||||
|
||||
# Path to your oh-my-zsh installation.
|
||||
for p in "${arr[@]}"; do
|
||||
# Empty element is equivalent to CWD (weird, I know), remove it
|
||||
if [[ -z $p ]]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
# Remove any relative paths
|
||||
if [[ ${p:0:1} != '/' ]]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
# Normalize path and ensure we can access it
|
||||
path=$(cd "$p" &>/dev/null && pwd)
|
||||
|
||||
# Path doesn't exist or we can't access it
|
||||
if [[ -z $path ]]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
# Filter out dups while we are here
|
||||
if [[ -n ${seen[$path]} ]]; then
|
||||
continue
|
||||
fi
|
||||
seen[$path]=true
|
||||
|
||||
# Store the new path
|
||||
newarr+=("$path")
|
||||
done
|
||||
|
||||
local IFS=:
|
||||
echo "${newarr[*]}"
|
||||
}
|
||||
|
||||
# Function to clean up the PATH variable
|
||||
path_clean() {
|
||||
local path
|
||||
path=$(path_print_clean) || return 1
|
||||
# Use eval to correctly assign the cleaned path to the PATH variable
|
||||
export PATH="$path"
|
||||
}
|
||||
|
||||
timezsh() {
|
||||
shell=${1-$SHELL}
|
||||
for i in $(seq 1 10); do /usr/bin/time $shell -i -c exit; done
|
||||
}
|
||||
|
||||
# Path to your oh-my-zsh installation
|
||||
export ZSH="$HOME/.oh-my-zsh"
|
||||
export ZSH_CUSTOM="$HOME/.oh-my-zsh/custom"
|
||||
export UPDATE_ZSH_DAYS=1
|
||||
|
||||
export FZF_DEFAULT_OPTS="$(fzf_theme)"
|
||||
# Set name of the theme to loading
|
||||
# ZSH_THEME="powerlevel10k/powerlevel10k"
|
||||
# ZSH_THEME="robbyrussell"
|
||||
|
||||
# Set list of themes to pick from when loading at random
|
||||
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
|
||||
# Add macOS specific command-line utilities
|
||||
if [[ -d /usr/local/opt/coreutils/libexec/gnubin && ! "$PATH" =~ (^|:)/usr/local/opt/coreutils/libexec/gnubin(:|$) ]]; then
|
||||
export PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"
|
||||
fi
|
||||
|
||||
# Ensure /opt/homebrew is in the PATH if it exists
|
||||
if [[ -d /opt/homebrew && ! "$PATH" =~ (^|:)/opt/homebrew/(bin|sbin)($|:) ]]; then
|
||||
export PATH="/opt/homebrew/bin:/opt/homebrew/sbin:$PATH"
|
||||
fi
|
||||
|
||||
# Add /usr/local/bin and /usr/local/sbin to PATH if they are not already present
|
||||
dirs=("/usr/local/bin" "/usr/local/sbin")
|
||||
for dir in "${dirs[@]}"; do
|
||||
if [[ -d $dir && ! "$PATH" =~ (^|:)$dir(:|$) ]]; then
|
||||
export PATH="$dir:$PATH"
|
||||
fi
|
||||
done
|
||||
|
||||
# Clean up paths again to ensure no duplicates
|
||||
path_clean PATH
|
||||
|
||||
# Auto-update and other zsh settings
|
||||
DISABLE_UPDATE_PROMPT=true
|
||||
zstyle ':omz:update' mode reminder # remind to update
|
||||
|
||||
# Uncomment to use case-sensitive completion
|
||||
# CASE_SENSITIVE="true"
|
||||
|
|
@ -34,52 +97,19 @@ export FZF_DEFAULT_OPTS="$(fzf_theme)"
|
|||
# Uncomment to use hyphen-insensitive completion
|
||||
# HYPHEN_INSENSITIVE="true"
|
||||
|
||||
# Uncomment one of the following lines to change the auto-update behavior
|
||||
# zstyle ':omz:update' mode disabled # disable automatic updates
|
||||
# zstyle ':omz:update' mode auto # update automatically without asking
|
||||
# zstyle ':omz:update' mode reminder # just remind me to update when it's time
|
||||
|
||||
# Uncomment to change how often to auto-update (in days)
|
||||
# zstyle ':omz:update' frequency 13
|
||||
|
||||
# Uncomment if pasting URLs and other text is messed up
|
||||
# Miscellaneous configurations
|
||||
# DISABLE_MAGIC_FUNCTIONS="true"
|
||||
|
||||
# Uncomment to disable colors in ls
|
||||
# DISABLE_LS_COLORS="true"
|
||||
|
||||
# Uncomment to disable auto-setting terminal title
|
||||
# DISABLE_AUTO_TITLE="true"
|
||||
|
||||
# Uncomment to enable command auto-correction
|
||||
# ENABLE_CORRECTION="true"
|
||||
|
||||
# Uncomment to display red dots whilst waiting for completion
|
||||
# COMPLETION_WAITING_DOTS="true"
|
||||
|
||||
# Uncomment to disable marking untracked files under VCS as dirty
|
||||
# DISABLE_UNTRACKED_FILES_DIRTY="true"
|
||||
|
||||
# Load zsh hooks
|
||||
autoload -Uz add-zsh-hook
|
||||
|
||||
# move_curor_to_bottom() {
|
||||
# [[ -n ${PIN_PROMPT_NEWLINE+1} ]] && echo
|
||||
# tput cup $LINES
|
||||
# }
|
||||
|
||||
# move_curor_to_bottom
|
||||
# add-zsh-hook preexec move_curor_to_bottom
|
||||
|
||||
# Uncomment to change the command execution time stamp shown in history command output
|
||||
# HIST_STAMPS="mm/dd/yyyy"
|
||||
|
||||
HISTFILE=~/.zsh_history
|
||||
HISTSIZE=1000
|
||||
SAVEHIST=10000
|
||||
|
||||
# Set custom folder for oh-my-zsh, if desired
|
||||
ZSH_CUSTOM=$HOME/.oh-my-zsh/custom
|
||||
# Load completion scripts
|
||||
autoload -Uz compinit && compinit -C
|
||||
|
||||
# Plugins to load
|
||||
plugins=(
|
||||
|
|
@ -92,7 +122,6 @@ plugins=(
|
|||
zoxide
|
||||
eza
|
||||
)
|
||||
|
||||
export ZSH_AUTOSUGGEST_STRATEGY=(
|
||||
history
|
||||
completion
|
||||
|
|
@ -101,31 +130,9 @@ export ZSH_AUTOSUGGEST_STRATEGY=(
|
|||
# Source oh-my-zsh.sh
|
||||
source $ZSH/oh-my-zsh.sh
|
||||
|
||||
# User configuration
|
||||
source ~/.zprofile
|
||||
# export MANPATH="/usr/local/man:$MANPATH"
|
||||
|
||||
# Set preferred editor for local and remote sessions
|
||||
# if [[ -n $SSH_CONNECTION ]]; then
|
||||
# export EDITOR='vim'
|
||||
# else
|
||||
# export EDITOR='nvim'
|
||||
# fi
|
||||
|
||||
# Compilation flags
|
||||
# export ARCHFLAGS="-arch x86_64"
|
||||
|
||||
# Set personal aliases
|
||||
# Example aliases
|
||||
# alias zshconfig="mate ~/.zshrc"
|
||||
# alias ohmyzsh="mate ~/.oh-my-zsh"
|
||||
# alias firefox="/Applications/Firefox.app/Contents/MacOS/firefox-bin -P profileName"
|
||||
|
||||
# Customize prompt, if .p10k.zsh exists
|
||||
# [[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
|
||||
|
||||
# Finalize p10k configuration if p10k function exists
|
||||
# (( ! ${+functions[p10k]} )) || p10k finalize
|
||||
# Initialize Starship
|
||||
eval "$(starship init zsh)"
|
||||
export STARSHIP_CONFIG="${XDG_CONFIG_HOME:-$HOME/.config}/starship.toml"
|
||||
|
||||
# >>> conda initialize >>>
|
||||
# !! Contents within this block are managed by 'conda init' !!
|
||||
|
|
@ -142,13 +149,45 @@ fi
|
|||
unset __conda_setup
|
||||
# <<< conda initialize <<<
|
||||
|
||||
# Load completion scripts
|
||||
autoload -Uz compinit && compinit
|
||||
# Set default editor
|
||||
if [[ -n $SSH_CONNECTION ]]; then
|
||||
export EDITOR='vi'
|
||||
else
|
||||
export EDITOR='nvim'
|
||||
fi
|
||||
|
||||
# # Customize prompt, if .p10k.zsh in .dotfiles exists
|
||||
# [[ ! -f ~/.dotfiles/p10k/.p10k.zsh ]] || source ~/.dotfiles/p10k/.p10k.zsh
|
||||
# Compilation flags
|
||||
# export ARCHFLAGS="-arch x86_64"
|
||||
|
||||
# Initialize Starship
|
||||
eval "$(starship init zsh)"
|
||||
export STARSHIP_CONFIG=~/.config/starship.toml
|
||||
# Custom aliases
|
||||
alias python="python3"
|
||||
alias v="nvim"
|
||||
alias cat="bat --paging=never"
|
||||
alias grep="grep --color=auto"
|
||||
alias ls='eza --group-directories-first --color=auto'
|
||||
alias la='eza -la --group-directories-first --color=auto'
|
||||
alias ll='eza -l --group-directories-first --color=auto'
|
||||
alias lt='eza -lt modified --sort newest'
|
||||
alias lS='eza -lS --group-directories-first --color=auto'
|
||||
alias tree='eza --tree --level=3'
|
||||
alias lg='eza --git'
|
||||
alias bathelp='bat --plain --language=help'
|
||||
help() {
|
||||
"$@" --help 2>&1 | bathelp
|
||||
}
|
||||
|
||||
# Overwriting -h and --help with bat highlights
|
||||
alias -g :h='-h 2>&1 | bat --language=help --style=plain'
|
||||
alias -g :help='--help 2>&1 | bat --language=help --style=plain'
|
||||
|
||||
# Add eza completions to FPATH
|
||||
[[ ! "$FPATH" =~ (^|:)${HOME}/.local/bin/eza/completions/zsh(:|$) ]] && export FPATH="$HOME/.local/bin/eza/completions/zsh:$FPATH"
|
||||
|
||||
#Initialize direnv
|
||||
eval "$(direnv hook zsh)"
|
||||
|
||||
# Initialize zoxide
|
||||
eval "$(zoxide init --cmd cd zsh)"
|
||||
|
||||
path_clean
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue