All Projects → dieggsy → emacs-hacker-typer

dieggsy / emacs-hacker-typer

Licence: GPL-3.0 license
A customizable implementation of http://hackertyper.com in emacs.

Programming Languages

emacs lisp
2029 projects

Projects that are alternatives of or similar to emacs-hacker-typer

pine-script-mode
GNU Emacs Major mode for Trading View pine script
Stars: ✭ 18 (-14.29%)
Mutual labels:  package
repology-rules
Package normalization ruleset for Repology
Stars: ✭ 67 (+219.05%)
Mutual labels:  package
laravel-circuit-breaker
An implementation of the circuit breaker pattern for Laravel 5.6
Stars: ✭ 26 (+23.81%)
Mutual labels:  package
response
Response HTTP package for Simfony, Laravel, Lumen and PHP 7 with standard REST API
Stars: ✭ 14 (-33.33%)
Mutual labels:  package
get-bin-path
Get the current package's binary path
Stars: ✭ 25 (+19.05%)
Mutual labels:  package
ngp
New Go Package
Stars: ✭ 22 (+4.76%)
Mutual labels:  package
package-command
Lists, installs, and removes WP-CLI packages.
Stars: ✭ 16 (-23.81%)
Mutual labels:  package
golangflow
GolangFlow.io Website
Stars: ✭ 37 (+76.19%)
Mutual labels:  package
ali-opensearch-sdk
阿里云开放搜索 laravel SDK
Stars: ✭ 36 (+71.43%)
Mutual labels:  package
Dynamic-Parkour-System
Dynamic Parkour System is a FREE plugin for Unity that allows anyone to import any model and have an already working controller with parkour capabilities like in Assassin's Creed games.
Stars: ✭ 694 (+3204.76%)
Mutual labels:  package
importar
R package to import/load packages or functions the 'Python' way
Stars: ✭ 17 (-19.05%)
Mutual labels:  package
lint-deps
Lint for unused or missing dependencies in your node.js projects. Customize with plugins or configuration.
Stars: ✭ 48 (+128.57%)
Mutual labels:  package
SwiftPackage
🏆 Template to make a Swift package
Stars: ✭ 37 (+76.19%)
Mutual labels:  package
timestampy
🕒 Bunch of utilities useful when working with UNIX timestamps
Stars: ✭ 21 (+0%)
Mutual labels:  package
FinMesh
A python package that brings together financial and economic data.
Stars: ✭ 20 (-4.76%)
Mutual labels:  package
hej
Hej! is a simple authentication boilerplate for Socialite.
Stars: ✭ 111 (+428.57%)
Mutual labels:  package
hou packager
A simple SideFX Houdini package manager
Stars: ✭ 28 (+33.33%)
Mutual labels:  package
elm-generative
Making generative art in Elm
Stars: ✭ 23 (+9.52%)
Mutual labels:  package
meteor-graphql
Compiler plugin that supports GraphQL files in Meteor
Stars: ✭ 56 (+166.67%)
Mutual labels:  package
telegram
📚 Golang bindings for Telegram API
Stars: ✭ 15 (-28.57%)
Mutual labels:  package

emacs-hacker-typer

https://melpa.org/packages/hacker-typer-badge.svg https://stable.melpa.org/packages/hacker-typer-badge.svg https://img.shields.io/badge/license-GPL_3-green.svg

A customizable implementation of hackertyper.com in emacs.

hackerman.png

Usage

  • Type M-x hacker-typer and get hacking! Or use C-u M-x hacker-typer to be prompted about the file to use.
  • Type M-x hackerman if you’d just like a hacker companion, or C-u M-x hackerman for single-window.
  • If you’d like to see hackerman when invoking M-x hacker-typer, set hacker-typer-show-hackerman to t. See more customization options below.
  • You can quit with your keyboard-quit binding or M-x hacker-typer-quit.
  • You can clear downloaded data with M-x hacker-typer-clear-cache.

NOTE: None of your files are altered.

Installation

This package is on Melpa. To install using use-package:

(use-package hacker-typer
  :ensure t)

Alternatively, using quelpa-use-package:

(use-package hacker-typer
  :quelpa (hacker-typer
           :fetcher github
           :repo "therockmandolinist/emacs-hacker-typer"
           :files (:defaults "hackerman.png")))

Or quelpa:

(quelpa '(hacker-typer
          :fetcher github
          :repo "therockmandolinist/emacs-hacker-typer"
          :files (:defaults "hackerman.png")))

Otherwise, download the files to somewhere on your load path, and enable hacker-typer:

(require 'hacker-typer)

How it works

M-x hacker-typer randomly selects a file from hacker-typer-files (or prompts for one if given a prefix argument) downloading it if necessary, and creates a blank buffer with the name of that file (with random characers prepended). It then creates a local map in which all insert, delete, and enter commands are rebound to insert pieces of the file according to hacker-typer-type-rate.

M-x hackerman displays a humorous image of Rami Malek as “hackerman,” by inserting the file path into a temporary buffer and calling iimage-mode.

NOTE: Modes that get could get in the way are turned off if bound, so let me know if you have more suggestions for these. The current list:

  • agressive-indent-mode
  • smartparens-mode
  • evil-smartparens-mode
  • whitespace-mode

Customization

Type M-x customize-group hacker-typer RET to view all customization options.

They are the following:

hacker-typer-files

A list of files to randomly select from. Defaults to 5 emacs C source code files.

Can be web urls that point directly to files, or local files of the form: file:///absolute/path/to/file.

hacker-typer-remove-comments

If set to t, remove comments from files.

hacker-typer-show-hackerman

If set to t, shaw hackerman when calling M-x hacker-typer.

hacker-typer-type-rate

How many characters to type out per keystroke. Can be set to:

  • random (default): each keystroke inserts N characters, where N is randomly selected from hacker-typer-random-range.
  • integer: types out this many characters per keystroke.

hacker-typer-random-range

Range from which to choose chararcters to type per keystroke if hacker-typer-type-rate is set to ~’random~.

hacker-typer-data-dir

The directory in which to store data for hacker-typer. If no-littering is installed, it defaults to hacker-typer/ under no-littering-var-directory, otherwise placing the folder under user-emacs-directory.

Todo

  • It’s possible I should use image-mode to directly open the hackerman file instead, but I’m not sure how to do that with a temporary buffer and I like that temp buffers quit easily (at least, with evil-mode).
  • Somewhat relatedly, it would be nice to resize the hackerman image to fit the window, though this might take away from the humor of the immediacy by having to wait for the resize.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].