Skip to content

Instantly share code, notes, and snippets.

@xixixao
xixixao / scrollview.rs
Created February 13, 2023 04:41
Better ScrollView for tui-rs
View scrollview.rs
use tui::{
buffer::Buffer,
layout::Rect,
style::Style,
text::{Spans, Text},
widgets::{Block, StatefulWidget, Widget},
};
use unicode_segmentation::UnicodeSegmentation;
use unicode_width::UnicodeWidthStr;
@xixixao
xixixao / test_bmesh_ops.py
Last active November 6, 2022 01:00
Testing the signature of all bmesh ops
View test_bmesh_ops.py
raw_mesh = bmesh.new()
# setup
bmesh.ops.create_cube(raw_mesh)
raw_mesh.verts.ensure_lookup_table()
# end of setup
bmesh.ops.smooth_vert(raw_mesh)
bmesh.ops.smooth_laplacian_vert(raw_mesh)
bmesh.ops.recalc_face_normals(raw_mesh)
@xixixao
xixixao / bmesh_api_docs.diff
Last active November 6, 2022 00:50
Changes caused by D16400
View bmesh_api_docs.diff
diff --git a/doc/python_api/rst/bmesh.ops.rst b/doc/python_api/rst/bmesh.ops.rst
index cfd99c1..e44eab5 100644
--- a/doc/python_api/rst/bmesh.ops.rst
+++ b/doc/python_api/rst/bmesh.ops.rst
@@ -15,7 +15,7 @@ Operator Example
This script shows how operators can be used to model a link of a chain.
.. literalinclude:: __/examples/bmesh.ops.1.py
-.. function:: smooth_vert(bm, verts, factor, mirror_clip_x, mirror_clip_y, mirror_clip_z, clip_dist, use_axis_x, use_axis_y, use_axis_z)
+.. function:: smooth_vert(bm, verts=[], factor=0, mirror_clip_x=False, mirror_clip_y=False, mirror_clip_z=False, clip_dist=0, use_axis_x=False, use_axis_y=False, use_axis_z=False)
@xixixao
xixixao / drawBetterSelection.js
Last active June 13, 2021 04:40
Mac-like selection background for Codemirror6
View drawBetterSelection.js
import { drawSelection, ViewPlugin, Direction } from "@codemirror/view";
import { combineConfig, Facet, EditorSelection } from "@codemirror/state";
const [_, _2, hideNativeSelection] = drawSelection();
const selectionConfig = Facet.define({
combine(configs) {
return combineConfig(
configs,
{
@xixixao
xixixao / testfile.js
Created June 12, 2017 00:28
Test file
View testfile.js
/**
* Given the starting source, starting position, and the ending source this
* function guesses where the cursor should move to.
*/
function updateCursor(
startSource: string,
startPosition: {row: number, column: number},
endSource: string,
): {row: number, column: number} {
for (const accuracy of ACCURACIES) {
View CoffeeScript.tmLanguage
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>comment</key>
<string>CoffeeScript</string>
<key>fileTypes</key>
<array>
<string>coffee</string>
<string>Cakefile</string>
View gitcreate.sh
#!/bin/bash
# This script create a new repo on github.com, then pushes to it the local repo from the current directory.
# It is a fork of https://gist.github.com/robwierzbowski/5430952/. Some of Rob's lines just didn't work for me, and to fix them I needed to make it more verbose so that a mere electrical engineer could understand it.
# This script gets a username from .gitconfig. If it indicates that your default username is an empty string, you can set it with
# git config --add github.user YOUR_GIT_USERNAME
# Gather constant vars
@xixixao
xixixao / discrete-event-simulation
Created December 4, 2013 17:11
http://michalsrb.me/teatable/ Run like: > (new Simulation (ExponentialSampler 2), (ConstantSampler 2)).run 100
View discrete-event-simulation
# http://michalsrb.me/teatable/
#
# (new Simulation (ExponentialSampler 2), (ConstantSampler 2)).run 100
class Simulation
constructor: (@interArrival, @serviceTime) ->
@events = []
@t = 0
@population = 0
@scheduleArrival()
@xixixao
xixixao / Switch
Created April 3, 2013 08:59
Clojure vs Coffee
View Switch
#(defn parting
# "returns a String parting in a given language"
# ([] (parting "World"))
# ([name] (parting name "en"))
# ([name language]
# (condp = language
# "en" (str "Goodbye, " name)
# "es" (str "Adios, " name)
# (throw (IllegalArgumentException.
# (str "unsupported language " language))))))
@xixixao
xixixao / gist:e8b74ff74e98bdd0c137
Created March 13, 2015 11:55
LSystems in Shem
View gist:e8b74ff74e98bdd0c137
Rules (type (Map Char String))
System (record angle: Num base: (List Char) rules: Rules)
tree (fn [angle] (System angle
{\M}
(Map
\M "N[-M][+M][NM]"
\N "NN"
\[ "["
\] "]"