Many problems in science and engineering are related to the analytic continuation and in particular infinitesimal analytic continuation to the upper or lower complex plane, i.e., a generic *complex* function $f(\omega)$ with real $\omega$ is changed to 
$$F(\omega)=\lim_{\eta\rightarrow0^+}f(\omega\pm i\eta).$$ 
In many applications, only the part introduced by $\eta$ is necessary, which is 
$$A(\omega)=\lim_{\eta\rightarrow0^+}[f(\omega+i\eta)-f(\omega-i\eta)].$$ 

**Question**: How to symbolically obtain $A(\omega)$?  
See examples below: **simple `Limit` does not work**. A related [question][1] here deals with the simplest case (the first formula below), but I am asking about more general cases when symbolic Fourier transform or integral does not work.  For instance, I think we probably need to `Series` expand with respect to $\eta$ and take the leading order, but it is unclear how to maintain and recognize the pattern of denominators in the formulae below.

The reason why simple `Limit` does not work is the [Sokhotski–Plemelj][2] formula that involves `DiracDelta` $\delta$-function
$$\lim_{\eta\to0^{+}} \frac{1}{x\pm i\eta}= \mp i\pi\delta(x) + {\mathcal{P}} {\Big(\frac{1}{x}\Big)}$$
where **$\delta$-function is the effect of $\eta$** and a principal value is formally noted. A more general version 
$$\lim_{\eta\to0^{+}} \frac{1}{(x\pm i\eta)^{n+1}}= \mp i\pi(-1)^n\frac{\delta^{(n+1)}(x)}{n!} + {\mathcal{P}} {\Big(\frac{1}{x^{n+1}}\Big)}$$
involves the $(n+1)$-th derivative of $\delta$-function. To finally take the limit and express the result, we use such a formula. But note that all these will just appear as convenient symbols, *not* to be evaluated anywhere.


----------


This can always be calculated by hand; I think MMA is a perfect match for this task. As the limit is concerned, only the *leading order* effect of $\eta$ is relevant to us; hence many higher-order terms of $\eta$ can be dropped.  

Two examples are given below, where all parameters are real. Therefore only the imaginary part is purely generated by $\eta$.
For $f(\omega)=\frac{a\omega+\sqrt{c+\omega^2}}{e}$, we have 
\begin{equation}
\begin{split}
A(\omega)&=2i\lim_{\eta\rightarrow0^+}\Im f(\omega+i\eta)\\
&=2i\lim_{\eta\rightarrow0^+}\Im\frac{a(\omega+i\eta)+\sqrt{c+(\omega+i\eta)^2}}{e}\\
&=2i\lim_{\eta\rightarrow0^+}\Im\frac{a(\omega+i\eta)+c+\omega^2+i\eta\frac{\omega}{c+\omega^2}}{e}\\
&=2i\lim_{\eta\rightarrow0^+}\frac{ai\eta+i\eta\frac{\omega}{c+\omega^2}}{e}\\
&=0.
\end{split}
\end{equation}
For $f(\omega)=\frac{a+b\omega}{\omega-c}$ we have 
\begin{equation}
\begin{split}
A(\omega)&=2i\lim_{\eta\rightarrow0^+}\Im f(\omega+i\eta)\\
&=2i\lim_{\eta\rightarrow0^+}\Im\frac{a+b(\omega+i\eta)}{\omega-c+i\eta}\\
&=2i\lim_{\eta\rightarrow0^+}\Im\,\{[-i\pi\delta(\omega-c)+\mathcal{P}(\frac{1}{\omega-c})][a+b(\omega+i\eta)]\}\\
&=2i\lim_{\eta\rightarrow0^+}[-\pi(a+b\omega)\delta(\omega-c)+b\eta\mathcal{P}(\frac{1}{\omega-c})]\\
&=-\pi(a+b\omega)\delta(\omega-c).
\end{split}
\end{equation}
**Here, simple `Limit` does not work, which merely gives 0 as shown below.**

    f[ω_] := (a + b ω)/(ω - c);
    Limit[f[ω + I η] - f[ω - I η], η -> 0, 
     Direction -> "FromAbove"]

I thought about this for some time, but due to my very limited MMA skill, I don't see how to realize such a calculation.


  [1]: https://mathematica.stackexchange.com/q/148734
  [2]: https://en.wikipedia.org/wiki/Sokhotski%E2%80%93Plemelj_theorem#Version_for_the_real_line