-
Create a new live template under the Go template group
-
Give it an abbreviation. I use trun
-
Use the Go -> expression context
-
Paste this into the "Template text" box
t.Run("$NAME$", func(t *testing.T) {
$END$
})
| defaults write com.apple.finder _FXShowPosixPathInTitle -bool YES | |
| killall Finder |
| [package] | |
| name = "extreme-clippy" | |
| version = "0.1.0" | |
| edition = "2021" | |
| # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html | |
| [dependencies] | |
| [lints.clippy] |
Create a new live template under the Go template group
Give it an abbreviation. I use trun
Use the Go -> expression context
Paste this into the "Template text" box
t.Run("$NAME$", func(t *testing.T) {
$END$
})
| function useMedia(query) { | |
| const [matches, setMatches] = useState(window.matchMedia(query).matches) | |
| useEffect(() => { | |
| const media = window.matchMedia(query) | |
| if (media.matches !== matches) { | |
| setMatches(media.matches) | |
| } | |
| const listener = () => { | |
| setMatches(media.matches) |
| console.log(JSON.stringify(object, null, ' ')); |
| brew unlink neovim | |
| brew install neovim --HEAD | |
| nvim --version |
| hi normal guibg=NONE ctermbg=NONE |
Learn how to setup a TypeScript + React project from scratch. Understand the reason behind every line involved in the configuration allowing you to customize it at will in the future.
We start of with a bare bones package.json file
cat package.json
{
"name": "bootstrap",
"version": "0.0.0",
"license": "MIT",| function hashStringToInt(s, tableSize) { | |
| let hash = 17; | |
| for (let i = 0; i < s.length; i++) { | |
| hash = (13 * hash * s.charCodeAt(i)) % tableSize | |
| } | |
| return hash; | |
| } |