Skip to content

Instantly share code, notes, and snippets.

View merrickluo's full-sized avatar
💭
I may be slow to respond.

Merrick Luo merrickluo

💭
I may be slow to respond.
View GitHub Profile
From d6729f5621abbf374a371dd6fdaa13d7dd209468 Mon Sep 17 00:00:00 2001
From: Merrick Luo <merrick@luois.me>
Date: Sun, 14 Jan 2024 19:02:47 +0800
Subject: [PATCH] Make line spacing centered
---
src/xdisp.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/src/xdisp.c b/src/xdisp.c
@merrickluo
merrickluo / gptel-copilot.el
Last active January 10, 2024 14:27
use copilot as gptel backend
;;; copilot.el --- copilot backend for gptel -*- lexical-binding: t; -*-
;;
;; Copyright (C) 2024 Merrick Luo
;;
;; Author: Merrick Luo <merrick@luois.me>
;; Maintainer: Merrick Luo <merrick@luois.me>
;; Created: January 10, 2024
;; Modified: January 10, 2024
;; Version: 0.0.1
;; Keywords: comm
@merrickluo
merrickluo / copilot-openai.py
Last active January 10, 2024 11:15
proxy openai request with copilot
#!/usr/bin/env python3
## Copilot OpenAI Proxy
## A http server that proxies openai requests to copilot by adding required headers
## Copilot cli must be installed and logged in
## Inspired by https://github.com/aaamoon/copilot-gpt4-service
##
## only external dependency is requests, cuz http.client is shit, so as http.server
import json
@merrickluo
merrickluo / .doom.d-config.el
Last active September 18, 2023 09:22
Use pyim + liberime in doom-emacs
(use-package! liberime-config)
(use-package! pyim
;; :quelpa (pyim :fetcher github :repo "merrickluo/pyim")
:init
(setq pyim-title "R")
:config
;; (use-package pyim-basedict
;; :config
;; (pyim-basedict-enable))
(global-set-key (kbd "M-j") 'pyim-convert-string-at-point)
(use-package consult-notes
:commands (consult-notes
consult-notes-org-roam-find-node
consult-notes-org-roam-find-node-relation)
:config
(consult-notes-org-roam-mode))
(after! org-agenda
(use-package! org-roam
(ns day18
(:require [clojure.pprint :refer [pprint]]
[clojure.zip :as z]))
(defn exp-left [sn n]
(loop [t (z/prev sn) l 1]
(if (nil? t)
sn
(let [tn (z/node t)]
(if (number? tn)
@merrickluo
merrickluo / config.el
Created September 8, 2021 15:05
typescript-mode + tree-sitter for tsx
(use-package! tree-sitter
:when (bound-and-true-p module-file-suffix)
:hook (prog-mode . tree-sitter-mode)
:hook (tree-sitter-after-on . tree-sitter-hl-mode)
:config
(require 'tree-sitter-langs)
(global-tree-sitter-mode)
(add-hook 'tree-sitter-after-on-hook #'tree-sitter-hl-mode)
(defadvice! doom-tree-sitter-fail-gracefully-a (orig-fn &rest args)
"Don't break with errors when current major mode lacks tree-sitter support."
@merrickluo
merrickluo / bingwall
Created August 9, 2021 11:46
bash script to fetch bingwallpaper
#!/usr/bin/env bash
resolution=3840
api="https://bing.biturl.top/?resolution=$resolution"
store="$HOME/Pictures/Bing"
mkdir -p $store
img_url=`curl -s $api | jq -r .url`
img_name=${img_url##*=}
addEventListener("fetch", (event) => {
event.respondWith(
handleRequest(event).catch(
(err) => new Response(err.stack, { status: 500 })
)
);
});
/**
* Many more examples available at:
@merrickluo
merrickluo / proxy.sh
Last active March 10, 2021 14:49
A script to setup iptable rules
#!/usr/bin/env bash
[[ $EUID -ne 0 ]] && exec sudo $0 -- $@
set -e
command=${2:-help}
port=${3:-1024}
CHNROUTE_FILE="`dirname "$0"`/chnroute.txt"
IGNORE_FILE="`dirname "$0"`/ignore.txt"