diff options
Diffstat (limited to 'docs/posts/rapid_refactoring_with_vim')
-rw-r--r-- | docs/posts/rapid_refactoring_with_vim/index.html | 75 |
1 files changed, 7 insertions, 68 deletions
diff --git a/docs/posts/rapid_refactoring_with_vim/index.html b/docs/posts/rapid_refactoring_with_vim/index.html index 36d06fc..c5bc188 100644 --- a/docs/posts/rapid_refactoring_with_vim/index.html +++ b/docs/posts/rapid_refactoring_with_vim/index.html | |||
@@ -2,6 +2,7 @@ | |||
2 | <html lang="en"> | 2 | <html lang="en"> |
3 | <head> | 3 | <head> |
4 | <link rel="stylesheet" href="/style.css"> | 4 | <link rel="stylesheet" href="/style.css"> |
5 | <link rel="stylesheet" href="/syntax.css"> | ||
5 | <meta charset="UTF-8"> | 6 | <meta charset="UTF-8"> |
6 | <meta name="viewport" content="initial-scale=1"> | 7 | <meta name="viewport" content="initial-scale=1"> |
7 | <meta content="#ffffff" name="theme-color"> | 8 | <meta content="#ffffff" name="theme-color"> |
@@ -37,71 +38,7 @@ | |||
37 | Rapid Refactoring With Vim | 38 | Rapid Refactoring With Vim |
38 | </h1> | 39 | </h1> |
39 | <div class="post-text"> | 40 | <div class="post-text"> |
40 | <!DOCTYPE html> | 41 | <p>Last weekend, I was tasked with refactoring the 96 unit tests on <a href="https://github.com/ruma/ruma-events/pull/70">ruma-events</a> to use strictly typed json objects using <code>serde_json::json!</code> instead of raw strings. It was rather painless thanks to vim :)</p> |
41 | <html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang=""> | ||
42 | <head> | ||
43 | <meta charset="utf-8" /> | ||
44 | <meta name="generator" content="pandoc" /> | ||
45 | <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" /> | ||
46 | <title>rapid_refactoring_with_vim</title> | ||
47 | <style> | ||
48 | code{white-space: pre-wrap;} | ||
49 | span.smallcaps{font-variant: small-caps;} | ||
50 | span.underline{text-decoration: underline;} | ||
51 | div.column{display: inline-block; vertical-align: top; width: 50%;} | ||
52 | div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;} | ||
53 | ul.task-list{list-style: none;} | ||
54 | pre > code.sourceCode { white-space: pre; position: relative; } | ||
55 | pre > code.sourceCode > span { display: inline-block; line-height: 1.25; } | ||
56 | pre > code.sourceCode > span:empty { height: 1.2em; } | ||
57 | code.sourceCode > span { color: inherit; text-decoration: inherit; } | ||
58 | div.sourceCode { margin: 1em 0; } | ||
59 | pre.sourceCode { margin: 0; } | ||
60 | @media screen { | ||
61 | div.sourceCode { overflow: auto; } | ||
62 | } | ||
63 | @media print { | ||
64 | pre > code.sourceCode { white-space: pre-wrap; } | ||
65 | pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; } | ||
66 | } | ||
67 | pre.numberSource code | ||
68 | { counter-reset: source-line 0; } | ||
69 | pre.numberSource code > span | ||
70 | { position: relative; left: -4em; counter-increment: source-line; } | ||
71 | pre.numberSource code > span > a:first-child::before | ||
72 | { content: counter(source-line); | ||
73 | position: relative; left: -1em; text-align: right; vertical-align: baseline; | ||
74 | border: none; display: inline-block; | ||
75 | -webkit-touch-callout: none; -webkit-user-select: none; | ||
76 | -khtml-user-select: none; -moz-user-select: none; | ||
77 | -ms-user-select: none; user-select: none; | ||
78 | padding: 0 4px; width: 4em; | ||
79 | } | ||
80 | pre.numberSource { margin-left: 3em; padding-left: 4px; } | ||
81 | div.sourceCode | ||
82 | { } | ||
83 | @media screen { | ||
84 | pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; } | ||
85 | } | ||
86 | code span.al { font-weight: bold; } /* Alert */ | ||
87 | code span.an { font-style: italic; } /* Annotation */ | ||
88 | code span.cf { font-weight: bold; } /* ControlFlow */ | ||
89 | code span.co { font-style: italic; } /* Comment */ | ||
90 | code span.cv { font-style: italic; } /* CommentVar */ | ||
91 | code span.do { font-style: italic; } /* Documentation */ | ||
92 | code span.dt { text-decoration: underline; } /* DataType */ | ||
93 | code span.er { font-weight: bold; } /* Error */ | ||
94 | code span.in { font-style: italic; } /* Information */ | ||
95 | code span.kw { font-weight: bold; } /* Keyword */ | ||
96 | code span.pp { font-weight: bold; } /* Preprocessor */ | ||
97 | code span.wa { font-style: italic; } /* Warning */ | ||
98 | </style> | ||
99 | <!--[if lt IE 9]> | ||
100 | <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script> | ||
101 | <![endif]--> | ||
102 | </head> | ||
103 | <body> | ||
104 | <p>Last weekend, I was tasked with refactoring the 96 unit tests on <a href="https://github.com/ruma/ruma-events/pull/70">ruma-events</a> to use strictly typed json objects using <code>serde_json::json!</code> instead of raw strings. It was rather painless thanks to vim :)</p> | ||
105 | <p>Here’s a small sample of what had to be done (note the lines prefixed with the arrow):</p> | 42 | <p>Here’s a small sample of what had to be done (note the lines prefixed with the arrow):</p> |
106 | <div class="sourceCode" id="cb1"><pre class="sourceCode rust"><code class="sourceCode rust"><span id="cb1-1"><a href="#cb1-1"></a>→ <span class="kw">use</span> <span class="pp">serde_json::</span><span class="op">{</span>from_str<span class="op">};</span></span> | 43 | <div class="sourceCode" id="cb1"><pre class="sourceCode rust"><code class="sourceCode rust"><span id="cb1-1"><a href="#cb1-1"></a>→ <span class="kw">use</span> <span class="pp">serde_json::</span><span class="op">{</span>from_str<span class="op">};</span></span> |
107 | <span id="cb1-2"><a href="#cb1-2"></a> </span> | 44 | <span id="cb1-2"><a href="#cb1-2"></a> </span> |
@@ -190,13 +127,15 @@ BUFFER: json!( ... );</code></pre> | |||
190 | <li id="fn4" role="doc-endnote"><p><code>:help mark-motions</code><a href="#fnref4" class="footnote-back" role="doc-backlink">↩︎</a></p></li> | 127 | <li id="fn4" role="doc-endnote"><p><code>:help mark-motions</code><a href="#fnref4" class="footnote-back" role="doc-backlink">↩︎</a></p></li> |
191 | </ol> | 128 | </ol> |
192 | </section> | 129 | </section> |
193 | </body> | ||
194 | </html> | ||
195 | 130 | ||
196 | </div> | 131 | </div> |
197 | 132 | ||
198 | <div class=intro> | 133 | <div class=intro> |
199 | Hi. <a href=https://peppe.rs/index.xml class=feed-button>Subscribe</a> | 134 | Hi. |
135 | <div class=hot-links> | ||
136 | <a href=https://peppe.rs/index.xml class=feed-button>Subscribe</a> | ||
137 | <a href=https://liberapay.com/nerdypepper/donate class=donate-button>Donate</a> | ||
138 | </div> | ||
200 | <p>I'm Akshay, I go by nerd or nerdypepper on the internet.</p> | 139 | <p>I'm Akshay, I go by nerd or nerdypepper on the internet.</p> |
201 | <p> | 140 | <p> |
202 | I am a compsci undergrad, Rust programmer and an enthusiastic Vimmer. | 141 | I am a compsci undergrad, Rust programmer and an enthusiastic Vimmer. |