816a02d790f8

Update
[view raw] [browse files]
author Steve Losh <steve@stevelosh.com>
date Fri, 06 Oct 2017 11:52:28 -0400
parents a8431e53b8bd
children 249db9b05441 22b5581eba39
branches/tags (none)
files .hgsubstate ffignore fish/config.fish scalastyle_config.xml vim/vimrc weechat/buflist.conf weechat/trigger.conf

Changes

--- 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/ffignore	Fri Sep 29 10:28:47 2017 -0400
+++ b/ffignore	Fri Oct 06 11:52:28 2017 -0400
@@ -3,6 +3,7 @@
 cookbook
 banner.txt
 UnityTempFile
+.m2
 
 syntax:regex
 ^tags$
--- 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