--- a/.hgsubstate Fri Sep 29 10:28:47 2017 -0400
+++ b/.hgsubstate Fri Oct 06 11:52:28 2017 -0400
@@ -35,7 +35,7 @@
26fbdd7d1f1aa5600d2ebf39bbdd292c38aac16e vim/bundle/strftimedammit
2d05440ad23f97a7874ebd9b5de3a0e65d25d85c vim/bundle/surround
19c3d966440b6cfe8d74251881a48e961ddb8648 vim/bundle/swig
-cc6b92afa640db4342dc9ab9fd4215316888d6fa vim/bundle/syntastic
+cd871da6b4515e393ec0ba885423594447980e09 vim/bundle/syntastic
f6f2d6618a321f5b0065586a7bc934325fec81ab vim/bundle/targets
5d5c71044880443035e07009497962feacb56b20 vim/bundle/vimtex
bf3fd7f67e730f93765bd3c1cfcdb18fd4043521 vim/bundle/vitality
--- a/fish/config.fish Fri Sep 29 10:28:47 2017 -0400
+++ b/fish/config.fish Fri Oct 06 11:52:28 2017 -0400
@@ -94,7 +94,7 @@
set -g -x DRIP_SHUTDOWN 30
-set -g -x MAVEN_OPTS "-Xmx512M -XX:MaxPermSize=512M"
+set -g -x MAVEN_OPTS "-Xmx2048m -Xss2M -XX:ReservedCodeCacheSize=128m"
set -g -x _JAVA_OPTIONS "-Djava.awt.headless=true"
set -g -x GPG_TTY (tty)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/scalastyle_config.xml Fri Oct 06 11:52:28 2017 -0400
@@ -0,0 +1,170 @@
+<scalastyle commentFilter="enabled">
+ <name>Scalastyle standard configuration</name>
+ <check class="org.scalastyle.file.FileTabChecker" level="warning" enabled="true"></check>
+ <check class="org.scalastyle.file.FileLengthChecker" level="warning" enabled="false">
+ <parameters>
+ <parameter name="maxFileLength"><![CDATA[800]]></parameter>
+ </parameters>
+ </check>
+ <check class="org.scalastyle.file.HeaderMatchesChecker" level="warning" enabled="false">
+ <parameters>
+ <parameter name="header"><![CDATA[// Copyright (C) 2011-2012 the original author or authors.
+// See the LICENCE.txt file distributed with this work for additional
+// information regarding copyright ownership.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.]]></parameter>
+ </parameters>
+ </check>
+ <check class="org.scalastyle.scalariform.SpacesAfterPlusChecker" level="warning" enabled="true"></check>
+ <check class="org.scalastyle.file.WhitespaceEndOfLineChecker" level="warning" enabled="true"></check>
+ <check class="org.scalastyle.scalariform.SpacesBeforePlusChecker" level="warning" enabled="true"></check>
+ <check class="org.scalastyle.file.FileLineLengthChecker" level="warning" enabled="false">
+ <parameters>
+ <parameter name="maxLineLength"><![CDATA[160]]></parameter>
+ <parameter name="tabSize"><![CDATA[4]]></parameter>
+ <parameter name="ignoreImports"><![CDATA[false]]></parameter>
+ </parameters>
+ </check>
+ <check class="org.scalastyle.scalariform.ClassNamesChecker" level="warning" enabled="true">
+ <parameters>
+ <parameter name="regex"><![CDATA[[A-Z][A-Za-z]*]]></parameter>
+ </parameters>
+ </check>
+ <check class="org.scalastyle.scalariform.ObjectNamesChecker" level="warning" enabled="true">
+ <parameters>
+ <parameter name="regex"><![CDATA[[A-Z][A-Za-z]*]]></parameter>
+ </parameters>
+ </check>
+ <check class="org.scalastyle.scalariform.PackageObjectNamesChecker" level="warning" enabled="true">
+ <parameters>
+ <parameter name="regex"><![CDATA[^[a-z][A-Za-z]*$]]></parameter>
+ </parameters>
+ </check>
+ <check class="org.scalastyle.scalariform.EqualsHashCodeChecker" level="warning" enabled="true"></check>
+ <check class="org.scalastyle.scalariform.IllegalImportsChecker" level="warning" enabled="true">
+ <parameters>
+ <parameter name="illegalImports"><![CDATA[sun._,java.awt._]]></parameter>
+ </parameters>
+ </check>
+ <check class="org.scalastyle.scalariform.ParameterNumberChecker" level="warning" enabled="true">
+ <parameters>
+ <parameter name="maxParameters"><![CDATA[8]]></parameter>
+ </parameters>
+ </check>
+ <check class="org.scalastyle.scalariform.MagicNumberChecker" level="warning" enabled="false">
+ <parameters>
+ <parameter name="ignore"><![CDATA[-1,0,1,2,3]]></parameter>
+ </parameters>
+ </check>
+ <check class="org.scalastyle.scalariform.NoWhitespaceBeforeLeftBracketChecker" level="warning" enabled="true"></check>
+ <check class="org.scalastyle.scalariform.NoWhitespaceAfterLeftBracketChecker" level="warning" enabled="true"></check>
+ <check class="org.scalastyle.scalariform.ReturnChecker" level="warning" enabled="true"></check>
+ <check class="org.scalastyle.scalariform.NullChecker" level="warning" enabled="true"></check>
+ <check class="org.scalastyle.scalariform.NoCloneChecker" level="warning" enabled="true"></check>
+ <check class="org.scalastyle.scalariform.NoFinalizeChecker" level="warning" enabled="true"></check>
+ <check class="org.scalastyle.scalariform.CovariantEqualsChecker" level="warning" enabled="true"></check>
+ <check class="org.scalastyle.scalariform.StructuralTypeChecker" level="warning" enabled="true"></check>
+ <check class="org.scalastyle.file.RegexChecker" level="warning" enabled="true">
+ <parameters>
+ <parameter name="regex"><![CDATA[println]]></parameter>
+ </parameters>
+ </check>
+ <check class="org.scalastyle.scalariform.NumberOfTypesChecker" level="warning" enabled="true">
+ <parameters>
+ <parameter name="maxTypes"><![CDATA[30]]></parameter>
+ </parameters>
+ </check>
+ <check class="org.scalastyle.scalariform.CyclomaticComplexityChecker" level="warning" enabled="true">
+ <parameters>
+ <parameter name="maximum"><![CDATA[10]]></parameter>
+ </parameters>
+ </check>
+ <check class="org.scalastyle.scalariform.UppercaseLChecker" level="warning" enabled="true"></check>
+ <check class="org.scalastyle.scalariform.SimplifyBooleanExpressionChecker" level="warning" enabled="true"></check>
+ <check class="org.scalastyle.scalariform.IfBraceChecker" level="warning" enabled="true">
+ <parameters>
+ <parameter name="singleLineAllowed"><![CDATA[true]]></parameter>
+ <parameter name="doubleLineAllowed"><![CDATA[false]]></parameter>
+ </parameters>
+ </check>
+ <check class="org.scalastyle.scalariform.MethodLengthChecker" level="warning" enabled="true">
+ <parameters>
+ <parameter name="maxLength"><![CDATA[50]]></parameter>
+ </parameters>
+ </check>
+ <check class="org.scalastyle.scalariform.MethodNamesChecker" level="warning" enabled="true">
+ <parameters>
+ <parameter name="regex"><![CDATA[^[a-z][A-Za-z0-9]*(_=)?$]]></parameter>
+ <parameter name="ignoreRegex"><![CDATA[^$]]></parameter>
+ <parameter name="ignoreOverride"><![CDATA[false]]></parameter>
+ </parameters>
+ </check>
+ <check class="org.scalastyle.scalariform.NumberOfMethodsInTypeChecker" level="warning" enabled="true">
+ <parameters>
+ <parameter name="maxMethods"><![CDATA[30]]></parameter>
+ </parameters>
+ </check>
+ <check class="org.scalastyle.scalariform.PublicMethodsHaveTypeChecker" level="warning" enabled="true">
+ <parameters>
+ <parameter name="ignoreOverride"><![CDATA[false]]></parameter>
+ </parameters>
+ </check>
+ <check class="org.scalastyle.file.NewLineAtEofChecker" level="warning" enabled="true"></check>
+ <check class="org.scalastyle.file.NoNewLineAtEofChecker" level="warning" enabled="false"></check>
+ <check class="org.scalastyle.scalariform.WhileChecker" level="warning" enabled="false"></check>
+ <check class="org.scalastyle.scalariform.VarFieldChecker" level="warning" enabled="false"></check>
+ <check class="org.scalastyle.scalariform.VarLocalChecker" level="warning" enabled="false"></check>
+ <check class="org.scalastyle.scalariform.RedundantIfChecker" level="warning" enabled="false"></check>
+ <check class="org.scalastyle.scalariform.TokenChecker" level="warning" enabled="false">
+ <parameters>
+ <parameter name="regex"><![CDATA[println]]></parameter>
+ </parameters>
+ </check>
+ <check class="org.scalastyle.scalariform.DeprecatedJavaChecker" level="warning" enabled="true"></check>
+ <check class="org.scalastyle.scalariform.EmptyClassChecker" level="warning" enabled="true"></check>
+ <check class="org.scalastyle.scalariform.ClassTypeParameterChecker" level="warning" enabled="true">
+ <parameters>
+ <parameter name="regex"><![CDATA[^[A-Z_]$]]></parameter>
+ </parameters>
+ </check>
+ <check class="org.scalastyle.scalariform.UnderscoreImportChecker" level="warning" enabled="true"></check>
+ <check class="org.scalastyle.scalariform.LowercasePatternMatchChecker" level="warning" enabled="true"></check>
+ <check class="org.scalastyle.scalariform.MultipleStringLiteralsChecker" level="warning" enabled="false">
+ <parameters>
+ <parameter name="allowed"><![CDATA[2]]></parameter>
+ <parameter name="ignoreRegex"><![CDATA[^""$]]></parameter>
+ </parameters>
+ </check>
+ <check class="org.scalastyle.scalariform.ImportGroupingChecker" level="warning" enabled="true"></check>
+ <check class="org.scalastyle.scalariform.NotImplementedErrorUsage" level="warning" enabled="true"></check>
+ <check class="org.scalastyle.scalariform.BlockImportChecker" level="warning" enabled="false"></check>
+ <check class="org.scalastyle.scalariform.ProcedureDeclarationChecker" level="warning" enabled="true"></check>
+ <check class="org.scalastyle.scalariform.ForBraceChecker" level="warning" enabled="true"></check>
+ <check class="org.scalastyle.scalariform.SpaceAfterCommentStartChecker" level="warning" enabled="true"></check>
+ <check class="org.scalastyle.scalariform.ScalaDocChecker" level="warning" enabled="false"></check>
+ <check class="org.scalastyle.scalariform.DisallowSpaceAfterTokenChecker" level="warning" enabled="false"></check>
+ <check class="org.scalastyle.scalariform.DisallowSpaceBeforeTokenChecker" level="warning" enabled="false"></check>
+ <check class="org.scalastyle.scalariform.EnsureSingleSpaceAfterTokenChecker" level="warning" enabled="false"></check>
+ <check class="org.scalastyle.scalariform.EnsureSingleSpaceBeforeTokenChecker" level="warning" enabled="false"></check>
+ <check class="org.scalastyle.scalariform.NonASCIICharacterChecker" level="warning" enabled="false"></check>
+ <check class="org.scalastyle.file.IndentationChecker" level="warning" enabled="false">
+ <parameters>
+ <parameter name="tabSize"><![CDATA[2]]></parameter>
+ </parameters>
+ </check>
+ <check class="org.scalastyle.scalariform.FieldNamesChecker" level="warning" enabled="false">
+ <parameters>
+ <parameter name="regex"><![CDATA[^[a-z][A-Za-z]*$]]></parameter>
+ </parameters>
+ </check>
+</scalastyle>
--- a/vim/vimrc Fri Sep 29 10:28:47 2017 -0400
+++ b/vim/vimrc Fri Oct 06 11:52:28 2017 -0400
@@ -2341,6 +2341,12 @@
let g:rbpt_max = 1
" }}}
+" Scala {{{
+
+let g:scala_use_builtin_tagbar_defs = 0
+let g:scala_use_default_keymappings = 0
+
+" }}}
" Scratch {{{
command! ScratchToggle call ScratchToggle()
@@ -2528,19 +2534,71 @@
let g:syntastic_check_on_open = 0
let g:syntastic_check_on_wq = 0
let g:syntastic_auto_jump = 0
-let g:syntastic_java_checker = 'javac'
let g:syntastic_mode_map = {
\ "mode": "active",
\ "active_filetypes": [],
- \ "passive_filetypes": ['java', 'html', 'rst']
+ \ "passive_filetypes": ['java', 'html', 'rst', 'scala']
\ }
let g:syntastic_stl_format = '[%E{%e Errors}%B{, }%W{%w Warnings}]'
+
+nnoremap <leader>C :SyntasticCheck<cr>
+
+" Java
+let g:syntastic_java_checker = 'javac'
+
+" Javascript
let g:syntastic_jsl_conf = '$HOME/.vim/jsl.conf'
-let g:syntastic_scala_checkers = ['fsc']
+
+" Python
let g:syntastic_python_checkers = ['python']
let g:syntastic_python_python_exec = '/Users/sjl/bin/py3'
-nnoremap <leader>C :SyntasticCheck<cr>
+" Scala
+let g:syntastic_scala_checkers = ['scalac', 'scalastyle']
+let g:syntastic_scala_checkers = ['fsc']
+let g:syntastic_scala_scalastyle_jar = '/usr/local/Cellar/scalastyle/0.8.0/libexec/scalastyle_2.11-0.8.0-batch.jar'
+let g:syntastic_scala_scalastyle_config_file = '~/lib/dotfiles/scalastyle_config.xml'
+
+if has('autocmd')
+ function! FindClasspath(where)
+ let cpf = findfile('.classpath', escape(a:where, ' ') . ';')
+ let sep = syntastic#util#isRunningWindows() || has('win32unix') ? ';' : ':'
+ try
+ return cpf !=# '' ? [ '-classpath', join(readfile(cpf), sep) ] : []
+ catch
+ return []
+ endtry
+ endfunction
+
+ let g:syntastic_scala_scalac_args = [
+ \ '-Xfatal-warnings:false',
+ \ '-Xfuture',
+ \ '-Xlint',
+ \ '-Ywarn-adapted-args',
+ \ '-Ywarn-dead-code',
+ \ '-Ywarn-inaccessible',
+ \ '-Ywarn-infer-any',
+ \ '-Ywarn-nullary-override',
+ \ '-Ywarn-nullary-unit',
+ \ '-Ywarn-numeric-widen',
+ \ '-Ywarn-unused-import',
+ \ '-Ywarn-value-discard',
+ \ '-deprecation',
+ \ '-encoding', 'UTF-8',
+ \ '-feature',
+ \ '-language:existentials',
+ \ '-language:higherKinds',
+ \ '-language:implicitConversions',
+ \ '-unchecked',
+ \ '-d', ($TMPDIR !=# '' ? $TMPDIR : '/tmp') ]
+
+ augroup syntastic_scalac
+ autocmd!
+ autocmd FileType scala let b:syntastic_scala_scalac_args =
+ \ get(g:, 'syntastic_scala_scalac_args', []) +
+ \ FindClasspath(expand('<afile>:p:h', 1))
+ augroup END
+endif
" }}}
" Splice {{{
@@ -2936,12 +2994,20 @@
" searches line-by-line.
nnoremap <silent> <leader>A :set opfunc=<SID>AckMotion<CR>g@
-" xnoremap <silent> <leader>A :<C-U>call <SID>AckMotion(visualmode())<CR>
-
-nnoremap <leader>A :Ack! '\b<c-r><c-w>\b'<cr>
-nnoremap <bs> :Ack! '\b<c-r><c-w>\b'<cr>
xnoremap <silent> <bs> :<C-U>call <SID>AckMotion(visualmode())<CR>
+" nnoremap <leader>A :Ack! '\b<c-r><c-w>\b'<cr>
+" nnoremap <bs> :Ack! '\b<c-r><c-w>\b'<cr>
+
+" With C-R C-W, according to the help: "With CTRL-W the part of the word that
+" was already typed is not inserted again." Because we're using \b to ack for
+" word boundaries, the command string looks like `:Ack! '\b` at this point, and
+" so if the word we're on happens to start with a lowercase b (e.g. "bonkers")
+" it will be skipped, and we'll end up with `:Ack! '\bonkers` and find nothing.
+" It took me a good long time to notice this one. Computers are total fucking
+" garbage.
+nnoremap <bs> viw:<C-U>call <SID>AckMotion(visualmode())<CR>
+
function! s:CopyMotionForType(type)
if a:type ==# 'v'
silent execute "normal! `<" . a:type . "`>y"
--- a/weechat/buflist.conf Fri Sep 29 10:28:47 2017 -0400
+++ b/weechat/buflist.conf Fri Oct 06 11:52:28 2017 -0400
@@ -29,7 +29,7 @@
hotlist_low = "${color:white}"
hotlist_message = "${color:green}"
hotlist_none = "${color:default}"
-hotlist_private = "${color:white}"
+hotlist_private = "${color:magenta}"
hotlist_separator = "${color:default},"
indent = " "
lag = " ${color:green}[${color:brown}${lag}${color:green}]"
--- a/weechat/trigger.conf Fri Sep 29 10:28:47 2017 -0400
+++ b/weechat/trigger.conf Fri Oct 06 11:52:28 2017 -0400
@@ -73,3 +73,11 @@
server_pass.post_action = none
server_pass.regex = "==^(/(server|connect) .*-(sasl_)?password=)([^ ]+)(.*)==$1$.*4$5"
server_pass.return_code = ok
+uncc.arguments = "weechat_print"
+uncc.command = ""
+uncc.conditions = "${tg_tag_nick}"
+uncc.enabled = on
+uncc.hook = modifier
+uncc.post_action = none
+uncc.regex = "== \[cc: [^ ]+\]===="
+uncc.return_code = ok