joereynolds / what-to-code

Ideas for things to program
MIT License
1.51k stars 64 forks source link

what-to-code

[!NOTE] For the past 3 years I have been silently developing a video game. It's finally available to wishlist. If you're into topdown action/puzzle games Wishlist Mr Figs here.

Index

  1. Command line
  2. Local, non-interactive tools
  3. Desktop apps
  4. Games
  5. Improvements/Features - Most of these are pull requests that could be made to improve various thing I like
  6. Re-implementations - These ideas already exist but they're fun anyway
  7. Vim - Various functions I would quite like to have in Vim
  8. Websites - Original website ideas that I'll never get around to doing :(
  9. Service - ???

If you make any of these, let me know! If you make them and they're not FOSS, don't let me know.

Contribution & pull requests

Want to be added to the list of people that have completed a project? Just add the project's heading and your repo's url to CONTRIBUTORS.md

Command line

.notification {
    .title {
        color: red;
    }
}

Would generate

<div class="notification">
  <div class="title">Placeholder content</div>
</div>

Examples of usage (program is assumed to be called dp):

# Downloads challenge #200, the easy one
> dp 200 easy

# Downloads all variants of challenge #200 (easy, intermediate, hard)
> dp 200

# Downloads all easy challenges
> dp all easy

# Download easy and intermediate
> dp all easy,intermediate

# Invalid ID
> dp 45869
Challenge number 45689 does not exist

The output is directly printed onto the terminal so the user can do with it what they wish.

Local, non-interactive (command-line / daemon)

Desktop apps

Games

Vim

It would take a motion and a character to append at. Here's some examples to clarify

ga^var "At the beginning of the line, append var
ga$; "At the end of the line append ;
gab$ "At the beginning of <cword> append $
ga}. "At the end of the paragraph, append a .
gagg<?php "At the start of the file add <?php
etc...
Search within a block of {'s for the word test
g/i}test

Search from the current position until the end of the file
g/Gtest

Here's some viml to get you started

"motion-search.vim
"help g@
nmap g/ :set operatorfunc=MotionSearch<cr>g@

function! MotionSearch(type, ...) abort
    let start_selection = line("'[")
    let end_selection = line("']")

    let match = search('test', '', start_selection)
    let end = search('', '', end_selection)

    echo '/\%>' . start_selection ."l\%<" . end_selection . 'ltest'
    execute 'normal! /\%>' . start_selection ."l\%<" . end_selection . 'ltest'
                   " /\%>    12                l\%<    24               lsearch

endfunction

Websites

Service

Improvements / features

Re-implementations